Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.12.30;
Скачать: [xml.tar.bz2];

Вниз

Проблема вызова функции из сервиса соединения с БД из DLL   Найти похожие ветки 

 
gunner   (2002-12-06 11:24) [0]

Мастера, есть очень интересная ситуация !
Я из сервиса цепляю DLL в которой живут функции для работы с БД типа DB2. Так вот линковка всех функций проходит на ура, а вот когда дело доходит непосредственно до их выполнения, то сервис вываливается с EXCEPTION !
Тоже самое проделываю не из сервиса, а в простом приложении, всё работает на ура !
Так вопрос знатокам, в чём же тут дело ??


 
passm   (2002-12-06 11:31) [1]

gunner (06.12.02 11:24)> Что пишет?


 
sniknik   (2002-12-06 11:35) [2]

ошибка в 17 строке. :о)

серьезно не понятно, хочеш пример вышлю? правда с BDE но у тебя проблема вроде не с базой а с Dll.


 
sniknik   (2002-12-06 11:36) [3]

Сорру не обратил внимания, но D6 может есть.


 
gunner   (2002-12-06 11:36) [4]

При ошибке ??
я не могу выяснить этого... я знаю что вываливается при EXCEPTION после этого я даже не могу сделать GetLastError так как сервис закрывается !


 
gunner   (2002-12-06 11:42) [5]

> sniknik ©
не совсем понял что ты имел ввиду ?


 
sniknik   (2002-12-06 11:48) [6]

gunner (06.12.02 11:42)
да я сам не понял :). спросонья наверное, не просек что вопрос про сервис, и D7 (в нем BDE вроде нет).

так что не обращая внимания.

пример просто вызов dll с формой и гридом из програмки в которой таблица обьявлена.


 
gunner   (2002-12-06 12:34) [7]

> sniknik ©
Значит не в курсе в чём у меня проблема ?


 
sniknik   (2002-12-06 12:50) [8]

нет. :о((
я и сервисы то не писал, пробовал только стандартный дельфийский Service Application (есть задумка кое чего туда перекинуть), но вот dll оттуда вызывать пробовать не приходилось.

кстати как связывание идет, линковка? сам ее загружаеш -> LoadLibrary? если нет попробуй простора больше.


 
gunner   (2002-12-06 13:27) [9]

> sniknik
да именно LoadLibrary, но дело тут кажется не в линковке а в привелегиях каких то ! Я так думаю...


 
Daf   (2002-12-06 13:48) [10]

Удалено модератором


 
passm   (2002-12-06 14:07) [11]

gunner (06.12.02 13:27)> Кстати, как осуществляется коннект к DB2? Признаюсь, делал это исключительно через BDE и сервесы не писал, но приходилось делать DCOM сервер.
Есть ini файл, где прописаны TDatabase.Params. Там указаны DB2 DSN DSN, USER NAME, PASSWORD...


 
gunner   (2002-12-06 17:43) [12]

По существу господа, по существу ! :)


 
gunner   (2002-12-06 17:44) [13]

> passm ©

Коннект идёт через CLI interface


 
sniknik   (2002-12-07 02:21) [14]

и снова здраствуйте! Daf (06.12.02 13:48) спасибо, хотя здесь вроде не в месту.

gunner получилось чтонибудь? в смысле заработало? у меня да. попробовал загнать вызовы dll в стандартный сервис, и никаких особых проблем не возникло. я просто перенес вызовы из примера, см. выше, ну и вместо BDE сделал на ADO, коннект создаю в сервисе, открываю его в Dll в ней же создаю AdoCommand (просто так для перекрестности). В общем все работает, если у тебя еще не получилось пиши. Только пример получился на ADO + Jet (Access база). С DB2 я тебе не помошник.


 
gunner   (2002-12-09 08:40) [15]

> sniknik ©
У меня проблема не в том что я немогу функции из ДЛЛ дёргать...
пробле заключается в том что я немогу вызвать функцию которая делает Connect к DB2, если взять простую библиотеку которая работает сама в себе, то проблем с вызовом никаких !


 
sniknik   (2002-12-09 10:43) [16]

с коннектом к Access и MSSQL проблем нет (в смысле у меня получилось с первого раза), что из dll в программе что из dll в сервисе. что я и хотел сказать. не думаю что для DB2 какието исключения, раз ты можеш из программы вызывать то и из сервиса должно. я так думаю.

если так то в сервисе ты чегото не учел.


 
gunner   (2002-12-09 13:33) [17]

> sniknik ©
Я тоже так думал, однако похоже что это не так.....
Если бы я конект дела с использованием како го нибудь БДЕ то наверное проблем бы небыло....
но там конект делается с использованием специальных функций которые работают напрямую с базой через свой интерфес.


 
sniknik   (2002-12-09 13:56) [18]

давай я тебе всеже зашлю примерчик? сравниш хотя бы. с ADO - Jet разберешся думаю, пример простой 1 вызов рабочей функции (что в базу ложит), а вот если подобное на DB2 повториш и работать не будет .... :о((

p.s. послал. и не упирайся. :о)).


 
gunner   (2002-12-09 14:12) [19]

> sniknik ©

Получил, и не упираюсь ! :)


 
asmith   (2002-12-09 16:27) [20]

Попробуй пописать например в Application Event Log подробный протокол подозрительного места в сервисе - после каждого вызова - код возврата в лог. Нужно точно и четко локализовать место проишествия.


 
sniknik   (2002-12-09 17:14) [21]

asmith (09.12.02 16:27)
попробуй более внимательно прочитать ветку :-). подозрительные места -> gunner (06.12.02 11:36), место известно.


 
asmith   (2002-12-09 17:41) [22]

sniknik (09.12.02 17:14)
Попробую. "я знаю что вываливается при EXCEPTION после этого я даже не могу сделать GetLastError". А что присходит до этого?


 
sniknik   (2002-12-09 18:09) [23]

не знаю даже не догадываюсь. но думаю проверил если говорит что знает на каком вызове вылетает?



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2002.12.30;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.62 MB
Время: 0.045 c
1-99087
Hopkins
2002-12-15 19:32
2002.12.30
Как из Delphi вносить изменения в окнах апплетов ?


1-99077
Юрий
2002-12-18 15:04
2002.12.30
Button1.Caption в две строки


3-98952
gunner
2002-12-06 11:24
2002.12.30
Проблема вызова функции из сервиса соединения с БД из DLL


1-99079
Sectey
2002-12-19 17:06
2002.12.30
Блокировать/Раблокировать форму


1-99185
Alex-Barmaley
2002-12-19 06:47
2002.12.30
Надо перекодить KOI8 - Win





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский