Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ODAC OracleConnection.Close, Остается открытая сессия БД после Close 
:(
    Опции темы
Калинка
Дата 19.9.2013, 18:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 1.8.2011

Репутация: нет
Всего: нет



Доброго времени суток.
Такая проблема (или так и должно быть?): подсоединяюсь к БД Oracle, читаю данные через Reader в DataTable, закрываю соедиенение. Далее, при выполнении запроса в БД из таблицы        v$session вижу, что запись о сессии пользователя, под которым я логинился из приложения, находится в  таблице. Я предполагал, что после закрытия соединения сессия должна также отваливаться. Запись о сессии удаляется из таблицы только тогда, когда я завершаю работу всего приложения. 
Код ниже на VB.Net, написано в VS 2010, используется сборка Oracle.DataAccess.dll из ODTwithODAC1120320_32bit:

Код

        
        Imports Oracle.DataAccess.Client
        Imports Oracle.DataAccess.Types

        Public Class Form1
           Dim oraConn As New OracleConnection
           Dim cmd As New OracleCommand
           Dim tbl As New DataTable
        '.....
           sub Test()
              oraConn.ConnectionString = "Data Source=TEST;User Id=TEST;Password=TEST;"
              cmd.Connection = oraConn
              cmd.CommandText = "select * from table"
              oraConn.Open()
              tbl.Load(cmd.ExecuteReader)
              oraConn.Close()
              '...
           end sub
        '......

PM MAIL   Вверх
jonie
Дата 19.9.2013, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 8
Всего: 118



ну если вы прям всё Dispose-ите (например курсоры) и всё делаете точно правильно, то вероятно это пулинг соединений, которые держит odp.net.
У него можно включить трассировку, чтобы понять (тут подброности http://docs.oracle.com/html/E10927_01/InstallODP.htm)

Еще есть проблемы у него, какие точно не помню,  но что-то с транзакциями, если явно не закрывать коннекшен... http://www.devexpress.com/Support/Center/Q.../Details/B94829 подробнее.


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
Калинка
Дата 19.9.2013, 20:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 1.8.2011

Репутация: нет
Всего: нет



Jonie,спасибо большое за ответ. Первая ссылка невалидная, вторую посмотрю. Про явное закрытие-метод Close не является явным закрытия коннэкшна? Я так понял,что коннэкшн возвращается в пул,который создается неявно, и ждет,пока кто-то его не затребует?
PM MAIL   Вверх
jonie
Дата 20.9.2013, 08:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 8
Всего: 118



Цитата(Калинка @  19.9.2013,  21:07 Найти цитируемый пост)
Первая ссылка невалидная, вторую посмотрю.

ну просто скобку парсер форумный захватил: http://docs.oracle.com/html/E10927_01/InstallODP.htm
Цитата(Калинка @  19.9.2013,  21:07 Найти цитируемый пост)
Про явное закрытие-метод Close не является явным закрытия коннэкшна? Я так понял,что коннэкшн возвращается в пул,который создается неявно, и ждет,пока кто-то его не затребует? 

ну собственно так и работает пул. По истечении какого-то времени вероятно коннешен таки закроется.. короче покуриле логи - там достаточно много пишется про пулинг и коннекшены.

Добавлено через 4 минуты и 31 секунду
еще возможно стоит прочитать про формат строк соединения (если вы, конечно, используете EZConnect формат): http://docs.oracle.com/cd/E18283_01/networ...0836/naming.htm
Обратите внимание на параметр SERVER в этой строке.


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0762 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.