Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблема вызова функции ;из сервиса соединения с БД из DLL [D7, DB2]


Страницы:   1 2

gunner ©   (2002-12-06 11:24:00) 

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


sniknik   (2002-12-09 18:09:00) [1]

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


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

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


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

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


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

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


gunner   (2002-12-09 14:12:00) [5]

> sniknik ©

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


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

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

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


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

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


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

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

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


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

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


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

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

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


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

> passm ©

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


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

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


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

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


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

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


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

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


sniknik   (2002-12-06 12:50:00) [16]

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

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


gunner   (2002-12-06 12:34:00) [17]

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


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

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

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

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


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

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


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

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


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо