Недоработка: Восстановление подключения и авторизация

Обсуждение возникших проблем, предложений и ошибок dbForge for Oracle
Закрыто
ZVanoZ
Сообщения: 79
Зарегистрирован: Чт 18 ноя 2010 16:50

Недоработка: Восстановление подключения и авторизация

Сообщение ZVanoZ » Пт 14 сен 2012 09:10

На стороне СУБД может быть выставлено время жизни сессий.
В таком случае соединения рубятся по таймауту.
dbForge for Oracle выдает окошко о дисконнекте и пытается переподключиться.
Если в опциях подключения не указано "хранить пароль", то приходится вводить его (пароль).
Ужасно напрягает каждую минуту это делать. А хранить нельзя т.к. БД промышленная.

Лучше бы делать так:
1. Хранить данные авторизации в памяти до выхода из программы. (Можно завести опцию в свойствах)
2. Перед основным запросом отсылать легкий проверочный с маленьким таймаутом.(величину проверочного таймаута можно вынести в опции соединения)
Например:

Код: Выделить всё

select sysdate from dual;
-- или
select count(*) from dual;
3. Вместо окошка о дисконнекте писать сообщение в основной лог

Alexander

Re: Недоработка: Восстановление подключения и авторизация

Сообщение Alexander » Пн 17 сен 2012 13:24

Данное поведение будет исправлено в одной из следующих версий продукта.


Alexander

Re: Недоработка: Восстановление подключения и авторизация

Сообщение Alexander » Пн 22 окт 2012 13:45

Не могли бы Вы уточнить в какой именно функциональности происходит данная ситуация, а также, используете ли Вы прямое подключение к Oracle серверу или Oracle клиент? Также, уточните, пожалуйста, с помощью какого механизма у Вас настроено время жизни сессии.

ZVanoZ
Сообщения: 79
Зарегистрирован: Чт 18 ноя 2010 16:50

Re: Недоработка: Восстановление подключения и авторизация

Сообщение ZVanoZ » Пн 05 ноя 2012 13:19

Подключаюсь через tnsnames.ora, который подложен в каталог dbForge Studio for Oracle
myAlias =
(description =
(address = (protocol = tcp)(host = ТутIPадрес)(port = 1521))
(connect_data = (service_name = ТутDNSИмя))
)

Как реализовано время жизни сессии - не знаю. Это делал системный администратор.
Предполагаю, что через sqlnet.ora параметр sqlnet.expire_time

Закрыто