Доброго времени суток.
Позволяет ли ODAC переключаться между клиентами Oracle, меняя OracleHome динамически, не изменяя порядок ХОМОВ оракла в системной переменной PATH ?
Используется ODAC 8.5.9, Delphi 2007 и несколько клиентов Oracle на одном ПК.
Прямое изменение переменных ODAC OracleHomeName, DefaultOracleHome и свойств Home (тип TOracleHome) и HomeName компонента TOraSession приводит к подмене внутри ODAC дефолтными значениями, из переменной PATH и ошибке “ Can't initialize OCI. Error -1 ”. К желаемому результату не приводит. Дефолтный выбор OracleHome, не меняя вышеупомянутые переменные работает без ошибок. Подменять системную переменную PATH новым порядком следования ХОМОВ оракла не желательно.
Подстановка OracleHome
-
- Сообщения: 6
- Зарегистрирован: Чт 07 мар 2013 09:41
Re: Подстановка OracleHome
Добрый день,
Добавление пути в переменную окружения PATH к текущему (дефолтному или заданному пользователем) клиенту Oracle обусловлено тем что раньше доступная длинна переменных окружения для некоторых приложений ограничивалась 255 символами, и если данные о клиенте были внесены после 255 символа то некоторые клиенты Oracle могли работать некорректно. Кроме того это также необходимо при использовании instant client, данные о котором могут быть не внесены в эту переменную.
Нам не сообщали о проблемах связанных с изменения свойства HomeName, пожалуйста опишите подробнее в каких случаях у Вас возникают ошибка "Can't initialize OCI" после изменения дефотного клиента, а также приведите Вашу переменную PATH, запись в реестре о клиентах Oracle, и версии и тип (Full или instant ) используемых клиентов
Добавление пути в переменную окружения PATH к текущему (дефолтному или заданному пользователем) клиенту Oracle обусловлено тем что раньше доступная длинна переменных окружения для некоторых приложений ограничивалась 255 символами, и если данные о клиенте были внесены после 255 символа то некоторые клиенты Oracle могли работать некорректно. Кроме того это также необходимо при использовании instant client, данные о котором могут быть не внесены в эту переменную.
Нам не сообщали о проблемах связанных с изменения свойства HomeName, пожалуйста опишите подробнее в каких случаях у Вас возникают ошибка "Can't initialize OCI" после изменения дефотного клиента, а также приведите Вашу переменную PATH, запись в реестре о клиентах Oracle, и версии и тип (Full или instant ) используемых клиентов
-
- Сообщения: 6
- Зарегистрирован: Чт 07 мар 2013 09:41
Re: Подстановка OracleHome
Это понятно. Проблема в том какой командой переключаться в приложении между разными клиентами Oracle? На компьютере установлено несколько клиентов Oracle, и для каждого есть настройка в реестре и к каждому прописан путь в переменной PATH. Как динамически в приложении переключаться между OracleHome's, принудительно выставлять какое-либо свойство вроде DefaultOracleHome, или искать в свойствах компонентов какую-то настройку управления HomeName ?
-
- Сообщения: 6
- Зарегистрирован: Чт 07 мар 2013 09:41
Re: Подстановка OracleHome
Я попробовал установить значение переменной TOraSession.HomeName в необходимое мне значение соответствующее нужному Oracle Home. Это привело к ошибке "Can't initialize OCI. Error -1".
-
- Сообщения: 6
- Зарегистрирован: Чт 07 мар 2013 09:41
Re: Подстановка OracleHome
Проблема решена.