powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Cannot find oci.dll
26 сообщений из 26, показаны все 2 страниц
Cannot find oci.dll
    #39697492
morhellene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На локальной машине, где установлен оракл 8, проект собирается и запускается нормально. На сервере, где также установлен оракл 8, ошибка Exception Exception at 0011F1CD Cannot find oci.dll.
Path = C:\Program Files (x86)\Borland\Delphi7\Bin;C:\Program Files (x86)\Borland\Delphi7\Projects\Bpl\;C:\Inprise\vbroker\bin;C:\orant\BIN;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\orant\jdk\bin

На сервере oci.dll лежит в C:\orant\BIN

Спасите, помогите, не знаю в какую сторону думать
...
Рейтинг: 0 / 0
Cannot find oci.dll
    #39697494
morhellene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На других серверах, где установлен оракл клиент 9 и выше ошибка не возникает, только там, где оракл 8
...
Рейтинг: 0 / 0
Cannot find oci.dll
    #39697497
Tactical Nuclear Penguin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
компоненты доступа бы хоть огласил
...
Рейтинг: 0 / 0
Cannot find oci.dll
    #39697499
morhellene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Tactical Nuclear Penguin, ODAC 6.70.0.45
...
Рейтинг: 0 / 0
Cannot find oci.dll
    #39697500
Tactical Nuclear Penguin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
клиент oci.dll 32-битный?
права на папку у пользователя есть?
...
Рейтинг: 0 / 0
Cannot find oci.dll
    #39697502
morhellene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Tactical Nuclear Penguin, 32, права есть.
Может проблема в том, что собирается и компилится под системой х64?
...
Рейтинг: 0 / 0
Cannot find oci.dll
    #39697505
goldmi45
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
morhellene,

Разрядность приложения какая? тоже 32-бита?
Попробуйте Process Explorer'ом посмотреть, возможно кроме oci.dll не хватает зависимых библиотек.
...
Рейтинг: 0 / 0
Cannot find oci.dll
    #39697506
morhellene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
goldmi45, да, тоже 32 бита
...
Рейтинг: 0 / 0
Cannot find oci.dll
    #39697514
Tactical Nuclear Penguin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а ось какая?
...
Рейтинг: 0 / 0
Cannot find oci.dll
    #39697516
morhellene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Tactical Nuclear Penguin, win10x64
...
Рейтинг: 0 / 0
Cannot find oci.dll
    #39697518
Andy_OLAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
morhellene
На сервере oci.dll лежит в C:\orant\BIN

Спасите, помогите, не знаю в какую сторону думать
Пользователь, который запускает на сервере программу, имеет NTFS права на каталог C:\orant? Возможно, он никаких dll физически прочитать не может, таки нет прав в каталог зайти. Попробуйте запустить явно run as administrator - и сравните ощущения.
...
Рейтинг: 0 / 0
Cannot find oci.dll
    #39697519
Andy_OLAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
morhellene,

Oracle сделал небольшой подвох - при установке x64 компонента снимается разрешение для ALL с каталогов x86 библиотек и компонентов. Индус-стайл, так сказать. Ставьте обратно для everyone разрешение на чтение, затем replace на дочерние каталоги и файлы - и все заработает.
...
Рейтинг: 0 / 0
Cannot find oci.dll
    #39697573
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В odac есть direct mode -- с ним никаких dll и клиентов для работы приложения не нужно. Очень удобно. Включается в свойствах соединения.
...
Рейтинг: 0 / 0
Cannot find oci.dll
    #39697575
morhellene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Andy_OLAP,
Загадка в том, что другая программа, собранная на той же машине, с теми же одак, но в code gear 2007, на сервере запускается без ошибок. Пересобрать целевую программу, используя Codegear не получится, несовместимость не имеющих отношение к ораклу компонент.
Также целевая программа, собранная на другой машине (win7x64, та же версия odac, одна разница, что там помимо оракл клиент 8, еще установлен оракл клиент 10, непонятно насколько это имеет значение), запускается на сервере под тем же пользователем без проблем и ошибок.
Вероятно ошибку следует искать где-то в переменных среды delphi, но эксперименты с path ни к чему не привели пока.
...
Рейтинг: 0 / 0
Cannot find oci.dll
    #39697629
b0rk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andy_OLAPmorhelleneНа сервере oci.dll лежит в C:\orant\BIN

Спасите, помогите, не знаю в какую сторону думать
Пользователь, который запускает на сервере программу, имеет NTFS права на каталог C:\orant? Возможно, он никаких dll физически прочитать не может, таки нет прав в каталог зайти. Попробуйте запустить явно run as administrator - и сравните ощущения.
+1
...
Рейтинг: 0 / 0
Cannot find oci.dll
    #39697648
morhellene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
b0rk, другая программа работает с теми же правами, но скомпилированная в кодегир2007.
...
Рейтинг: 0 / 0
Cannot find oci.dll
    #39697699
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а TNS_ADMIN где?
...
Рейтинг: 0 / 0
Cannot find oci.dll
    #39697707
MaratIsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
morhelleneНа локальной машине, где установлен оракл 8, проект собирается и запускается нормально. На сервере, где также установлен оракл 8, ошибка Exception Exception at 0011F1CD Cannot find oci.dll.
Path = C:\Program Files (x86)\Borland\Delphi7\Bin;C:\Program Files (x86)\Borland\Delphi7\Projects\Bpl\;C:\Inprise\vbroker\bin;C:\orant\BIN;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\orant\jdk\bin

На сервере oci.dll лежит в C:\orant\BIN

Спасите, помогите, не знаю в какую сторону думать

Код: pascal
1.
2.
3.
4.
5.
6.
{$IFDEF WIN32}
    sNLS := IniFile.ReadString('Oracle', 'NLS_LANG', 'AMERICAN_AMERICA.CL8MSWIN1251');
    IniFile.WriteString('Oracle', 'NLS_LANG', sNLS);
    SetEnvironmentVariable('NLS_LANG', PChar(sNLS));
    SetEnvironmentVariable('PATH', PChar(ExtractFilePath(ParamStr(0)) + 'drivers\'));
{$ENDIF} 
...
Рейтинг: 0 / 0
Cannot find oci.dll
    #39697730
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JaDiникаких dll и клиентов для работы приложения не нужно. Очень удобноА потом при переходе на новую версию оракла покупаешь новый комплект компонент и пересобираешь все приложение.

Удобно. Очень.
...
Рейтинг: 0 / 0
Cannot find oci.dll
    #39697776
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_JaDiникаких dll и клиентов для работы приложения не нужно. Очень удобноА потом при переходе на новую версию оракла покупаешь новый комплект компонент и пересобираешь все приложение.

Удобно. Очень.
Нет, не нужно ничего покупать или пересобирать. У оракла отличная обратная совместимость, как и у компонентов (например, приложения, написанные во времена 9 оракла прекрасно работали как с 10, так потом и с 11 версией сервера). Да, могут вылезти какие-то косяки, но это оооооочень редко и причина обычно в багах самого сервера, которые правятся хотфиксами (либо специфическими настройками, которые надо поправить).
...
Рейтинг: 0 / 0
Cannot find oci.dll
    #39697779
MaratIsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JaDi_Vasilisk_пропущено...
А потом при переходе на новую версию оракла покупаешь новый комплект компонент и пересобираешь все приложение.

Удобно. Очень.
Нет, не нужно ничего покупать или пересобирать. У оракла отличная обратная совместимость, как и у компонентов (например, приложения, написанные во времена 9 оракла прекрасно работали как с 10, так потом и с 11 версией сервера). Да, могут вылезти какие-то косяки, но это оооооочень редко и причина обычно в багах самого сервера, которые правятся хотфиксами (либо специфическими настройками, которые надо поправить).

не знаешь - не болтай
direct mode основан на низкоуровневом TCP, в который разработчики Oracle вносят изменения без обязательств обратной совместимости
...
Рейтинг: 0 / 0
Cannot find oci.dll
    #39697788
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JaDiне нужно ничего покупать или пересобиратьНедавно у коллег был опыт перехода на 12 оракл с прямым подключением и компонентами пятилетней давности.

Так, что не нужно мне рассказывать
...
Рейтинг: 0 / 0
Cannot find oci.dll
    #39697789
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_JaDiне нужно ничего покупать или пересобиратьНедавно у коллег был опыт перехода на 12 оракл с прямым подключением и компонентами пятилетней давности.

Так, что не нужно мне рассказывать
Читаем внимательно.
...
Рейтинг: 0 / 0
Cannot find oci.dll
    #39697795
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaratIskJaDiпропущено...

Нет, не нужно ничего покупать или пересобирать. У оракла отличная обратная совместимость, как и у компонентов (например, приложения, написанные во времена 9 оракла прекрасно работали как с 10, так потом и с 11 версией сервера). Да, могут вылезти какие-то косяки, но это оооооочень редко и причина обычно в багах самого сервера, которые правятся хотфиксами (либо специфическими настройками, которые надо поправить).

не знаешь - не болтай
direct mode основан на низкоуровневом TCP, в который разработчики Oracle вносят изменения без обязательств обратной совместимости
Не знаешь, не болтай -- оракловские клиенты работают через точно такие же апи, и оракл старается сохранять совместимость. Читай, со старых oci.dll можно подключаться к новому серверу:
http://www.dba-oracle.com/t_oracle_client_versions_higher_lower_database_release.htm
...
Рейтинг: 0 / 0
Cannot find oci.dll
    #39697800
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaratIskdirect mode основан на низкоуровневом TCP, в который разработчики Oracle вносят изменения без обязательств обратной совместимости
А как-же РОДНЫЕ Oracle'вые клиенты прежних версий работают?

Да, несовместимости есть, но старые клиенты (например Oracle Forms 6i основан аж на Net 8.0.3-8.0.6) обычно с новыми серверами работают и "не жужжат". В принципе Матрицу совместимости клиент-сервер можно на металинке посмотреть.

P.S.
Тут другая проблема, что новые фичу юзаться не будут. Например в 11'ой версии появилась возможность мелкие LOB'ы передавать в одном пакете, а не разными round-trips. Для задачь работающих с небольшими объектами (например гео-данные) дасть разницу в скорости на __порядки__
Или возможность вместо TCP/IP использовать InfiniBand )))
...
Рейтинг: 0 / 0
Cannot find oci.dll
    #39698896
morhellene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Посмотрела path на сервере, там отсутствовал c:\orant\bin. Посмотрела path на машине, на которой собралось и запустилось успешно, там также отсуствовал.
Сделала оверрайд path без оракла, скомпилила, все заработало.
Наверное, это единичный случай, когда вот такое сочетание, но может у кого-то также звезды сойдутся.
Всем спасибо :)
...
Рейтинг: 0 / 0
26 сообщений из 26, показаны все 2 страниц
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Cannot find oci.dll
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]