Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Cannot find oci.dll / 25 сообщений из 26, страница 1 из 2
04.09.2018, 05:54
    #39697492
morhellene
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cannot find oci.dll
На локальной машине, где установлен оракл 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
04.09.2018, 06:06
    #39697494
morhellene
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cannot find oci.dll
На других серверах, где установлен оракл клиент 9 и выше ошибка не возникает, только там, где оракл 8
...
Рейтинг: 0 / 0
04.09.2018, 06:40
    #39697497
Tactical Nuclear Penguin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cannot find oci.dll
компоненты доступа бы хоть огласил
...
Рейтинг: 0 / 0
04.09.2018, 06:53
    #39697499
morhellene
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cannot find oci.dll
Tactical Nuclear Penguin, ODAC 6.70.0.45
...
Рейтинг: 0 / 0
04.09.2018, 06:55
    #39697500
Tactical Nuclear Penguin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cannot find oci.dll
клиент oci.dll 32-битный?
права на папку у пользователя есть?
...
Рейтинг: 0 / 0
04.09.2018, 07:06
    #39697502
morhellene
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cannot find oci.dll
Tactical Nuclear Penguin, 32, права есть.
Может проблема в том, что собирается и компилится под системой х64?
...
Рейтинг: 0 / 0
04.09.2018, 07:28
    #39697505
goldmi45
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cannot find oci.dll
morhellene,

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

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

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

Спасите, помогите, не знаю в какую сторону думать
Пользователь, который запускает на сервере программу, имеет NTFS права на каталог C:\orant? Возможно, он никаких dll физически прочитать не может, таки нет прав в каталог зайти. Попробуйте запустить явно run as administrator - и сравните ощущения.
+1
...
Рейтинг: 0 / 0
04.09.2018, 11:24
    #39697648
morhellene
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cannot find oci.dll
b0rk, другая программа работает с теми же правами, но скомпилированная в кодегир2007.
...
Рейтинг: 0 / 0
04.09.2018, 12:39
    #39697699
cptngrb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cannot find oci.dll
а TNS_ADMIN где?
...
Рейтинг: 0 / 0
04.09.2018, 12:55
    #39697707
MaratIsk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cannot find oci.dll
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
04.09.2018, 13:27
    #39697730
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cannot find oci.dll
JaDiникаких dll и клиентов для работы приложения не нужно. Очень удобноА потом при переходе на новую версию оракла покупаешь новый комплект компонент и пересобираешь все приложение.

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

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

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

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

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

Так, что не нужно мне рассказывать
Читаем внимательно.
...
Рейтинг: 0 / 0
04.09.2018, 14:34
    #39697795
JayDi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cannot find oci.dll
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
04.09.2018, 14:43
    #39697800
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cannot find oci.dll
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
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Cannot find oci.dll / 25 сообщений из 26, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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