Дурацкая тема по dll Oracle client

В конторе, где имею честь работать,
десятки пользователей, хренова туча задач
обмена Фокс-Оракл -Фокс, многие из
них, за исключением единиц, я сам и написал.
И работают они каждый божий день как часы год за годом
и глючат кране редко.
Но еще Станислав Лем писал, 100 раз человек есть картофель,
но один раз, картофель ест человека или что-то в этом роде.
Есть одна бухша, у которой время от времени при связи с Оракл через ОДБС
10 тонкий клиент идет ошибка -системная ошибка 132 sqora32.dll не может быть
из-за этой ошибки загружен. Аналогичная задача на других компах
никогда не глючит. И у тетки ошибка появляется не каждый день, а вне всякой системы.
Иногда просто не дает работать.
Причем попытка использовать 11 тонкий клиент дает ту же самую проблему.
Поскольку dll с аналогичным именем,
но другая по размеру и сути бывает и на других клиентах,
то теоретически может быть ситуация, что эта библиотека как-то застряла в памяти,
и когда пишем sqlstringconnect даже указывая конкретный клиент, система решает,
что он уже есть, пытается его задействовать, а он чужой.
Это только рабочее предположение.
clear dll.
=sys(1104)
sqldisconnect(0)
Перед новой коннекцией не помогли устранить ошибку.
Я решил поумничать, нашел в win32 две функции
Declare Integer GetModuleHandle In kernel32 String @lptstr
Declare Integer freelibrary In kernel32 String @lptstr
Вызываю до коннекции
hd= GetModuleHandle('sqora32.dll')
if hd >0
=freelibrary(hd)
endif
lcconstring = 'Driver={Oracle in instantclient10_2};UID=....blablabla'
hconn = SQLSTRINGCONNECT(lcconstring)
Этим я надеялся избавиться от попавшего в память чужого клиента
При первом запуске все ок
А при втором вылет в системную ошибку -с00005
То есть идея была тухлой в самом начале
Первый SQLSTRINGCONNECT(lcconstring)
dll в память загрузил
Хотя потом sqldisconnect(0)
clear dlls
Он все равно остался как-то в памяти, и следующий
SQLSTRINGCONNECT(lcconstring)
его туда больше не загрузил
Это я описываю ситуация у себя на компьютере до отладки,
а у меня ошибки , что была у бухши, и не было.
То есть у нее бы код тоже скорее всего тоже бы упал
Вот и думаю, а в какой же момент все-таки Фокс
грузит dll Оракл клиента , если не при коннекции.

0

Автор публикации

Пользователи не найдены
Оставить комментарий
Авторизация
*
*
Генерация пароля