OracleSQLMonitor конфликтует с динамическими библиотеками
OracleSQLMonitor конфликтует с динамическими библиотеками
Проблема такая. В приложении загружаю динамические dll библиотеки. После инициализации компонента OraSQLMonitor (Параметр Active установлен в true), и закрытии приложения, оно остается висеть в процессах. Если не загружать dll приложение завершается. И соответственно при отключении компонента OraSQLMonitor и загруженной dll происходит завершение.
Скажите, пожалуйста, в чем проблема и как её побороть?
Система: Windows 8.1 x64
Среда: С++ Builder 2009
Версия компонента: Oracle Data Access Components 8.6.12
Скажите, пожалуйста, в чем проблема и как её побороть?
Система: Windows 8.1 x64
Среда: С++ Builder 2009
Версия компонента: Oracle Data Access Components 8.6.12
Re: OracleSQLMonitor конфликтует с динамическими библиотеками
Добрый день,
Мы не можем воспроизвести проблему, пожалуйста попробуйте воспроизвести это поведение на последней версии ODAC 9.2.5, и если проблема повториться, свяжитесь с нами снова.
P.S. Для работы с Oracle в OCI режиме ODAC динамически загружает библотеки клиента Oracle, и ни каких проблем после закрытия приложения не наблюдаеться
Мы не можем воспроизвести проблему, пожалуйста попробуйте воспроизвести это поведение на последней версии ODAC 9.2.5, и если проблема повториться, свяжитесь с нами снова.
P.S. Для работы с Oracle в OCI режиме ODAC динамически загружает библотеки клиента Oracle, и ни каких проблем после закрытия приложения не наблюдаеться
Re: OracleSQLMonitor конфликтует с динамическими библиотеками
К сожалению не могу попробовать данную версию компонентов. Вылазиет ошибка: ORA-12560: TNS: protocol adapter error. Верисия клиента oracle 11.2.0
Re: OracleSQLMonitor конфликтует с динамическими библиотеками
В общем, обходными путями заставил компонент OraSession подключиться к базе данных. И Все равно, даже с новой версией при загрузке плагинов, приложение при закрытии не выгружается.
Может нужно какие настройки подергать в OraSQLSession?
Может нужно какие настройки подергать в OraSQLSession?
Re: OracleSQLMonitor конфликтует с динамическими библиотеками
Пожалуйста пришлите небольшой пример на alexp*devart*com плагин и приложение который воспроизводит проблему.
Re: OracleSQLMonitor конфликтует с динамическими библиотеками
Отправил вам письмо. С адреса [email protected]
Еще одна деталь выяснилось. Установил RAD Studio на виртуалку и там запустил на компиляцию проект. При запуске в дебагере при включенном OraSQLMonitor выскакивает ошибка Cannot connect to server on host 'localhost'.
Настройки OraSQLMonitor следующие:
Еще одна деталь выяснилось. Установил RAD Studio на виртуалку и там запустил на компиляцию проект. При запуске в дебагере при включенном OraSQLMonitor выскакивает ошибка Cannot connect to server on host 'localhost'.
Настройки OraSQLMonitor следующие:
Код: Выделить всё
object OraSQLMonitor: TOraSQLMonitor
TraceFlags = [tfQPrepare, tfQExecute, tfError, tfStmt, tfConnect, tfTransact, tfMisc, tfParams]
OnSQL = OraSQLMonitorSQL
Left = 32
Top = 56
end
Re: OracleSQLMonitor конфликтует с динамическими библиотеками
Появились кое-какие догадки по этой ошибке.
Во время запуска приложение из-под среды разработки OraSQLMonitor генерирует исключение Cannot connect to server on host 'localhost'. Как вначале подключения к базе данных (открытии приложения) так и отключении от неё (закрытие приложения). Причем сообщения об ошибке генерируются только в среде разработки.
Если при выходе среда разработки успела отобразить ошибку, программа завершается, если не успела - нет. Так у меня на виртуалке тестовое приложение завершалось в 70% случаев. При запуске вне среды в процентах 10%.
Покопался в настройках компонента и отключил все опции:
* moDialog (стояло по умолчанию true)
* moSQLMonitor (стояло по умолчанию true)
* moDBMonitor (стояло по умолчанию true)
* moCustom (стояло по умолчанию true)
* moHandled (было false, не трогал)
Выше описанное исключение больше не появляется, программа завершается всегда и везде. При этом все события Oracle им регистрируются (по крайней мере, все что мне нужно).
Теперь возник другой вопрос, за что отвечают эти опции?
Во время запуска приложение из-под среды разработки OraSQLMonitor генерирует исключение Cannot connect to server on host 'localhost'. Как вначале подключения к базе данных (открытии приложения) так и отключении от неё (закрытие приложения). Причем сообщения об ошибке генерируются только в среде разработки.
Если при выходе среда разработки успела отобразить ошибку, программа завершается, если не успела - нет. Так у меня на виртуалке тестовое приложение завершалось в 70% случаев. При запуске вне среды в процентах 10%.
Покопался в настройках компонента и отключил все опции:
* moDialog (стояло по умолчанию true)
* moSQLMonitor (стояло по умолчанию true)
* moDBMonitor (стояло по умолчанию true)
* moCustom (стояло по умолчанию true)
* moHandled (было false, не трогал)
Выше описанное исключение больше не появляется, программа завершается всегда и везде. При этом все события Oracle им регистрируются (по крайней мере, все что мне нужно).
Теперь возник другой вопрос, за что отвечают эти опции?
Re: OracleSQLMonitor конфликтует с динамическими библиотеками
В последних версиях ODAC? мы исправили проблему с возникновением ошибки 'Cannot connect to server ...' в независимости от того включен или выключен OraSQLMonitor? как при запуске из IDE так и при запуски exe файла. Возможно вы не полностью удалили предыдущую версию перед установкой новой версии ODAC 9.2.5 (подхватываются стары dcu, bpl и т.д.).
Описание опций монитора вы можете найти в справке http://www.devart.com/odac/docs/index.h ... option.htm
Описание опций монитора вы можете найти в справке http://www.devart.com/odac/docs/index.h ... option.htm