Ruby OCI8 не выходит из системы - PullRequest
1 голос
/ 25 февраля 2010

Каковы последствия, если (если таковые имеются) не вызов метода conn.logoff () после следующего сценария при подключении к базе данных Oracle с использованием библиотеки Ruby OCI8.

conn = OCI8.new('scott', 'tiger')
 num_rows = conn.exec('SELECT * FROM emp') do |r|
   puts r.join(',')
 end
 puts num_rows.to_s + ' rows were processed.'

Причина, по которой я спрашиваю, потому что мы испытываем замедление работы с другими приложениями, которые подключаются к той же базе данных Oracle.

Спасибо

Ответы [ 2 ]

1 голос
/ 25 февраля 2010

Я полагаю, что при выходе из процесса Ruby сеанс будет автоматически завершен.

Вы можете проверить, запросив v $ session, чтобы убедиться, что процесс ruby ​​все еще подключен к Oracle после выхода из Ruby.

Учитывая только информацию в вашем вопросе, действительно невозможно сказать, что может вызвать замедление - существует так много переменных.

0 голосов
/ 09 октября 2011

Если вы не вызовете conn.logoff (), соединение будет живым, даже если оно будет собирать мусор до завершения процесса ruby. Проблема исправлена ​​в ruby-oci8 2.1, которая еще не была выпущена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...