Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вызов процедуры в DLL из MS SQL 7 / 13 сообщений из 13, страница 1 из 1
08.07.2002, 15:28:24
    #32035607
bug76
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов процедуры в DLL из MS SQL 7
Приве всем!
Кто сталкивался - помогите разобраьтся с проблемкой.
Надо из под MS SQL вызывать порцедуру, находящуюся в DLL-ке. Создаю extended stored procedure - все нормально.
Пытаюсь ее вызвать - пишет что такая процедура в библиотеке не найдена. Что характерно - из под Delphi процедурка вызывается на ура.
...
Рейтинг: 0 / 0
08.07.2002, 16:50:46
    #32035626
sorgery
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов процедуры в DLL из MS SQL 7
А не подскажишь где иншу брал по написанию расширенных процедур на дельфи?
...
Рейтинг: 0 / 0
08.07.2002, 16:54:39
    #32035627
sorgery
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов процедуры в DLL из MS SQL 7
А все ли есть динамические библиотеки на сервере?
...
Рейтинг: 0 / 0
20.07.2002, 16:48:59
    #32037874
bug76
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов процедуры в DLL из MS SQL 7
sorgery
А какие динамические библиотеки нужны на на сервере?
Если моя dll-ка, то да - лежит в каталоге binn
...
Рейтинг: 0 / 0
23.07.2002, 01:12:23
    #32038141
ТГ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов процедуры в DLL из MS SQL 7
Такая-же колбаса, только писал на Clarion5.5
Все Ок и скомпилялся, и зацепился, а когда
EXEC ...иди_сюда - фиг вам - типа нетути у вас.

проверяю - есть - есть, (ну типа проврить хп),
путь есть, имя есть , даже в ней экспортирую __GetXPVersion - а на вызов - нет.

ВОПРОС: Где она!
...
Рейтинг: 0 / 0
23.07.2002, 10:05:08
    #32038163
sorgery
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов процедуры в DLL из MS SQL 7
в моем случае мне не хвотала файла msvcr70.dll, в случае с дельфей я не уверен, попробуй методом научного тыка перебрать Runtime packages.
...
Рейтинг: 0 / 0
23.07.2002, 19:12:46
    #32038359
bug76
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов процедуры в DLL из MS SQL 7
ТГ
И как же ты выкрутился?

sorgery
Сейчас в отпуске, проверить не могу. Приеду обязательно посмотрю. Хотя очень странно.

А больше проблем не у кого не было? Помоему этот вопрос поднимался на ixbt, но толковых ответов так и не было.
Кто что знает - напишите. Очень надо.
...
Рейтинг: 0 / 0
23.07.2002, 20:11:08
    #32038377
Mitja
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов процедуры в DLL из MS SQL 7
загружаешь длл
exec @retval=sp_OACreate 'Spell.cSpellout',@objectid out
IF @retval <> 0
BEGIN
EXEC sp_OAGetErrorInfo @objectId
RETURN
END

используешь метод
exec @retval= sp_OAMethod @objectid,'CurencyNumberToStr',@SpellLoanAmount out, @LoanAmount
IF @retval <> 0
BEGIN
обрабатывешь ошибки
eND

и не забуть уничтожить
exec sp_OADestroy @objectid

Все здесь хорошо, но надо иметь права сис админа :(
...
Рейтинг: 0 / 0
23.07.2002, 23:42:21
    #32038386
sorgery
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов процедуры в DLL из MS SQL 7
to bug76
НА ихбт вопрос подымал я, но толковый ответ получился в этом форуме. Попробуй поискать.
...
Рейтинг: 0 / 0
24.07.2002, 10:15:27
    #32038411
ziktuw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов процедуры в DLL из MS SQL 7
ESP - это экспортируемая по имени функция в DLL с модификатором вызова CDECL, имеющая один параметр - 4-х байтный указатель. При регистрации ESP указывается имя не DLL, а экспортируемой функции.
Соответствует ли это описание тому, что у вас, особенно в части параметра?
И чтобы откинуть все сомнения, лучше привести код.
...
Рейтинг: 0 / 0
24.07.2002, 10:29:31
    #32038415
Mitja
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов процедуры в DLL из MS SQL 7
Ну имеется ввиду что Spell - это длл, сSpellout - это класс
exec @retval=sp_OACreate 'Spell.cSpellout',@objectid out
IF @retval <> 0
BEGIN
EXEC sp_OAGetErrorInfo @objectId
RETURN
END

После того как получили указатель, используем методы класса как показано ранее
...
Рейтинг: 0 / 0
24.07.2002, 15:40:38
    #32038537
ASCRUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов процедуры в DLL из MS SQL 7
Кстати насчет написания на Delphi Extended Proc - есть сайт, где неплохие примерчики выложены как это делать. Еще есть кое что интересное. Разработчикам на Delphi рекомендую зайти на www.gvu.newmail.ru .
...
Рейтинг: 0 / 0
25.07.2002, 19:51:28
    #32038892
MiCe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов процедуры в DLL из MS SQL 7
расширенные процедуры для SQL сервера нужно либо самому писать (или использовать готовые)...
но с... как всегда но... :)
они должы быть написаны специально для него...
получать параметры от сервера... возвращать тудаж результат....
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вызов процедуры в DLL из MS SQL 7 / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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