Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / EXE который ничего не делает / 14 сообщений из 14, страница 1 из 1
13.06.2021, 12:34
    #40077401
HOME_X
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EXE который ничего не делает
Доброго дня господа !

Имею архитектуру
Win10 64-bit
Delphi 10.3.3
Exe под 64 bit ссылается на DLL
Dll под 64 bit здесь средства доступа ADOConnection
Использую провайдер для Oracle
(Provider=OraOLEDB.Oracle.1;User ID={UID};Password={PWD};Persist Security Info=True;Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST={host})(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=myBase.all)))
)
Делаю запуск с ПК с установленным 64 Oracle Client-ом - все в норме !

Делаю запуск с ПК с установленным 64 Oracle (это сервер, файлы библиотек похожи - но сам не ставил)
Если в архитектуре EXE->DLL->ADOConnection-> Ошибка
ORA-12545: Connect failed because target host or object does not exist
Если в архитектуре EXE->ADOConnection-> все в норме !

Т.е. компоненты DLL не могут найти библиотеки под Oracle
(запуск CoInitialize(nil),CoUninitialize в библиотеки присутствует)

Переменную окружения PATH проверил - делал вызовы из под EXE и из под DLL - пути идентичны

Интересный факт
Если запускать из-под BAT-файла (Far 64 bit) предварительно запустив "консольный EXE, который ничего не делает"
start /wait Empty.exe (любой разрядности)
start /wait MyExecute.exe

Все отрабатывает предсказуемо !!!!

Плис- плис - плис !!!!!

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
----------------------------------
program Empty;

{$APPTYPE CONSOLE}

uses
  Windows,SysUtils,Classes,Clipbrd;

var
  I: Integer;
begin
  I:=1;
end.
-----------------------------------
...
Рейтинг: 0 / 0
13.06.2021, 13:02
    #40077405
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EXE который ничего не делает
HOME_XВсе отрабатывает предсказуемо !!!!

С твоим стилем кодирования "двадцать лет уже работает, значит код правильный" - это неизбежно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
13.06.2021, 14:30
    #40077408
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EXE который ничего не делает
HOME_X
Если запускать из-под BAT-файла (Far 64 bit) предварительно запустив "консольный EXE, который ничего не делает"
А если не запускать?
Код: powershell
1.
2.
rem start /wait Empty.exe
start /wait MyExecute.exe
...
Рейтинг: 0 / 0
13.06.2021, 15:05
    #40077413
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EXE который ничего не делает
...
Рейтинг: 0 / 0
13.06.2021, 15:23
    #40077416
HOME_X
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EXE который ничего не делает
_Vasilisk_
HOME_X
Если запускать из-под BAT-файла (Far 64 bit) предварительно запустив "консольный EXE, который ничего не делает"
А если не запускать?
Код: powershell
1.
2.
rem start /wait Empty.exe
start /wait MyExecute.exe



Сваливается на ошибку ... ORA-12545
Если без DLL - соnnect нормален
...
Рейтинг: 0 / 0
13.06.2021, 15:26
    #40077417
HOME_X
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EXE который ничего не делает
Dimitry Sibiryakov

HOME_XВсе отрабатывает предсказуемо !!!!

С твоим стилем кодирования "двадцать лет уже работает, значит код правильный" - это неизбежно.


Код верен - когда он работает !
Это приблизительно суть Вашей фразы из преидущего поста.

Насчет 20- лет ... таки да,
но работал пока НЕ произошло обновление версии Windows (с месяц назад)
...
Рейтинг: 0 / 0
13.06.2021, 15:34
    #40077418
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EXE который ничего не делает
Отличный пример как внезапно дуракам может перестать везти. Теперь тебе придётся-таки
вычищать из своего... хммм... кода обращения к неинициализированным переменным и уже
освобождённой памяти.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
13.06.2021, 15:34
    #40077419
HOME_X
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EXE который ничего не делает
HOME_X,

Почему
1. работает простой EXE (если выбросить DLL из архитектуры ...)
2. что может делать "консольный EXE" - инициировать библиотеки ?

????
...
Рейтинг: 0 / 0
13.06.2021, 16:08
    #40077423
HOME_X
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EXE который ничего не делает
Dimitry Sibiryakov

Отличный пример как внезапно дуракам может перестать везти. Теперь тебе придётся-таки
вычищать из своего... хммм... кода обращения к неинициализированным переменным и уже
освобождённой памяти.


"освобождённой памяти"
Ошибка идет в момент коннекта к базе и возвращается ошибка БАЗЫ !!
ORA-12545: Connect failed because target host or object does not exist
Эту ошибку вернул Oracle Client ...

Если бы память была очищена - а не смог бы получить именно ORA-12545
Свалилась бы другая ошибка памяти

Такое впечатление - что операционка не рассматривает DLL как полноценное
приложение и не предоставляет ей полных прав допуска объекта ADOCOnnection
к библиотекам системы
...
Рейтинг: 0 / 0
13.06.2021, 17:45
    #40077429
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EXE который ничего не делает
HOME_X2. что может делать "консольный EXE" - инициировать библиотеки ?

Менять погоду на Марсе, от которой и зависит работоспособность твоего кода.

HOME_XЕсли бы память была очищена - а не смог бы получить именно ORA-12545

Смог бы. Потому что в строке коннекта вместо имени хоста был бы мусор, на который и
ругается Oracle Client.

HOME_XСвалилась бы другая ошибка памяти

Из-за особенностей работы штатного менеджера памяти - нет, не свалилась бы.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
13.06.2021, 21:27
    #40077435
rgreat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EXE который ничего не делает
HOME_X
Ошибка идет в момент коннекта к базе и возвращается ошибка БАЗЫ !!
ORA-12545: Connect failed because target host or object does not exist
Эту ошибку вернул Oracle Client ...
Это не ошибка базы.
...
Рейтинг: 0 / 0
14.06.2021, 09:10
    #40077452
Кроик Семён
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EXE который ничего не делает
У компонентов DOA чувствительность на установленный Oracle Client. Возможно, это вообще в INITIALIZATION юнитов стоит. Например, поиск Oracle Home'ов.

До сих пор жил с этим, хотя теперь заинтересовало
...
Рейтинг: 0 / 0
17.06.2021, 14:42
    #40078305
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EXE который ничего не делает
Кроик Семён
У компонентов DOA чувствительность на установленный Oracle Client. Возможно, это вообще в INITIALIZATION юнитов стоит. Например, поиск Oracle Home'ов.

До сих пор жил с этим, хотя теперь заинтересовало
у ТС вроде бы ADO Connection
...
Рейтинг: 0 / 0
17.06.2021, 22:15
    #40078421
Relic Hunter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EXE который ничего не делает
автор(Provider=OraOLEDB.Oracle.1Ты через оледб не ходи к Ораклу, через натив ходи. И будет щастье. Его с выпилом tls 1.1 перестали поддерживать на Венде.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / EXE который ничего не делает / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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