Люди!!!
Помогите!
Как узнать версию ClientOracle програмным путем??
Вот заходишь на комп, запускаешь прогу, а она тебе — версию клиента оракла
(если таковой есть).
Очень нужно!!!
Здравствуйте, Зеленый, Вы писали:
З>Как узнать версию ClientOracle програмным путем?? З>Вот заходишь на комп, запускаешь прогу, а она тебе — версию клиента оракла
Проверить надо VersionInfo файла $ORACLE_HOME\BIN\OCI.DLL
Полный путь файла узнать в этом ключе реестра:
[HKLM\SOFTWARE\ORACLE\]
"ORACLE_HOME" = "C:\\Oracle\\Ora81"
Либо должна быть определена переменная окружения с таким именем.
Только я сомневаюсь, что это очень нужно.
Никогда не бойся браться делать то, что делать не умеешь. Помни, ковчег был построен любителем. Профессионалы построили Титаник...
Re[2]: Как определить версию OracleClient ?
От:
Аноним
Дата:
31.01.03 15:26
Оценка:
Здравствуйте, VVP, Вы писали:
VVP>Здравствуйте, Зеленый, Вы писали:
З>>Как узнать версию ClientOracle програмным путем?? З>>Вот заходишь на комп, запускаешь прогу, а она тебе — версию клиента оракла VVP>Проверить надо VersionInfo файла $ORACLE_HOME\BIN\OCI.DLL VVP>Полный путь файла узнать в этом ключе реестра: VVP>[HKLM\SOFTWARE\ORACLE\] VVP>"ORACLE_HOME" = "C:\\Oracle\\Ora81" VVP>Либо должна быть определена переменная окружения с таким именем. VVP>Только я сомневаюсь, что это очень нужно.
Имеется ввиду та версия, что на закладке About\version находится??
Так она 0.0.0.0 ((
А переменной окружения такой нет...
А>Имеется ввиду та версия, что на закладке About\version находится?? А>Так она 0.0.0.0 ((
Надо смотреть не только File Version из ресурса VERSIONINFO, но и Product Version, причем во всех секциях. Где-нибудь да промелькнет. Вот версия, хранящаяся в sqlplusw.exe:
В общем случае, файл oci.dll может и не присутствовать в клиенте (в 7.3 его нет, и в 8.0, по-моему, тоже, хотя не уверен). Поэтому я привел информацию о sqlplusw.exe, который вроде бы есть во всех версиях.
Здравствуйте, Sergey Ten, Вы писали:
ST>Надо смотреть не только File Version из ресурса VERSIONINFO, но и Product Version, причем во всех секциях. Где-нибудь да промелькнет. Вот версия, хранящаяся в sqlplusw.exe:
ST> ST>
Спасибо, конечно, хотя это все равно не прокатит. У меня ProductVersion у sqlplusw.exe на 8.1.6, хотя при установке клиента говорилось, что версия 8.1.7.
А у OCI.dll все равно даже намека на версию нет.
ST>В общем случае, файл oci.dll может и не присутствовать в клиенте (в 7.3 его нет, и в 8.0, по-моему, тоже, хотя не уверен). Поэтому я привел информацию о sqlplusw.exe, который вроде бы есть во всех версиях.
То, что его в 7.3 нет это очень хорошо... Спасибо!
Здравствуйте, Sergey Ten, Вы писали:
ST>В общем случае, файл oci.dll может и не присутствовать в клиенте (в 7.3 его нет, и в 8.0, по-моему, тоже, хотя не уверен). Поэтому я привел информацию о sqlplusw.exe, который вроде бы есть во всех версиях.
Да вы чего ребята, с ума посходили?
OCI.DLL это основная клиентская библиотека. Если уж вы говорите, что УСТАНОВЛЕН КЛИЕНТ, то это значит, что файл OCI.DLL присутствует.
Никогда не бойся браться делать то, что делать не умеешь. Помни, ковчег был построен любителем. Профессионалы построили Титаник...
Здравствуйте, VVP, Вы писали:
VVP>Да вы чего ребята, с ума посходили? VVP>OCI.DLL это основная клиентская библиотека. Если уж вы говорите, что УСТАНОВЛЕН КЛИЕНТ, то это значит, что файл OCI.DLL присутствует.
Вот состав клиента Oracle 7.3, реальная рабочая конфигурация:
OCI.DLL здесь нет. Основная клиентская библиотека — это та, которая загружена клиентом. Если обратил внимание, тот же SQLPLUSW.EXE не грузит OCI.DLL, а грузит ORACLIENT8.DLL. Кроме того, OCI.DLL не экспортирует функции UPI-интерфейса, которые активно используются программами типа IMP/EXP и OracleForms, а также тем же SQLPLUSW.EXE.
Клиентские приложения не должны закладываться на наличие OCI.DLL, если они не заточены под использование какой-то одной версии клиента. Убирай свой ноль.
Здравствуйте, Sergey Ten, Вы писали:
ST>Вот состав клиента Oracle 7.3, реальная рабочая конфигурация: ST>OCI.DLL здесь нет. Основная клиентская библиотека — это та, которая загружена клиентом. Если обратил внимание, тот же SQLPLUSW.EXE не грузит OCI.DLL, а грузит ORACLIENT8.DLL. Кроме того, OCI.DLL не ... ST>Клиентские приложения не должны закладываться на наличие OCI.DLL, если они не заточены под использование какой-то одной версии клиента. Убирай свой ноль.
Проверю это обязательно. Ноль убираю, извини погорячился
Никогда не бойся браться делать то, что делать не умеешь. Помни, ковчег был построен любителем. Профессионалы построили Титаник...
Здравствуйте, Sergey Ten, Вы писали:
ST>Здравствуйте, VVP, Вы писали:
VVP>>Да вы чего ребята, с ума посходили? VVP>>OCI.DLL это основная клиентская библиотека. Если уж вы говорите, что УСТАНОВЛЕН КЛИЕНТ, то это значит, что файл OCI.DLL присутствует.
ST>Вот состав клиента Oracle 7.3, реальная рабочая конфигурация:
ST>
З>Там ведь используют Oci.dll для версии 7.3 и даже 7.0
Код AllRoundAutomations проверяет наличие OCI.DLL, и если она присутствует, использует ее. Если ее нет, он делает FindFirst('ora*.dll, ...) — сюда попадут и ora73.dll, и oraclient8.dll. А проверка на наличие экспортируемух функций производится в той DLL, которая была найдена и загружена, это может быть и не OCI.DLL. Полный код DOA, который делает поиск клиентской DLL, можно посмотреть в файле OracleCI.pas.