Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.28;
Скачать: CL | DM;

Вниз

Как создать DLL для MS SQL Server 2000?   Найти похожие ветки 

 
Optimisticus   (2004-02-10 19:58) [0]

Доброго времени суток!
Не кинет ли кто-нибудь простой пример, как создать DLL для подключения к MS SQL Server 2000 в качестве внешней процедуры?


 
ZrenBy ©   (2004-02-10 20:02) [1]

Extended Stored Procedure Dll чтоли надо сделать ?

Ну тогда VS C++ и вперед


 
vuk ©   (2004-02-10 20:53) [2]

>Ну тогда VS C++ и вперед
Ну зачем же? :o)
Просто нужно сходить на http://www.overbyte.be
Там в разделе Products\More под названием "SQL Server Open Data Services" есть архив с модулями импорта, для разработки Extended SP для MS SQL.


 
Nikolay M. ©   (2004-02-10 22:20) [3]

Или вот еще, сгодится для начала:
http://delphibase.endimus.ru/?action=viewtopic&topic=basemssql


 
Optimisticus   (2004-02-11 14:58) [4]

Спасибо! Буду разбираться!


 
Optimisticus   (2004-02-11 16:45) [5]

to Vuk

при запуске EXEC xp_delphi_proclist из указанного архива возникает ошибка:
"ODBC: Msg 0, Level 19, State 1
SqlDumpExceptionHandler: Process 51 generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process.
Connection Broken",
что это может быть? инсталяция dll выполнена.

вообще задача стоит в том, чтобы получать на MS SQL набор данных.


 
Alex Konshin ©   (2004-02-12 04:43) [6]

Можешь посмотреть пример SQLAlert с моего сайта. Там внутри есть перевод заголовков ODS на Delphi.
Заодно это тоже пример на организацию обратной связи с MS SQL.


 
Alex Konshin ©   (2004-02-12 04:54) [7]

вообще задача стоит в том, чтобы получать на MS SQL набор данных.
А в каком виде ты будешь отдавать эти данные и куда?
Получить - не проблема, упаковать и отправить получателю - вот где может быть проблема. Если это не проблема, что ж, тем лучше.
Я когда дойду до дома постараюсь вырезать кусок кода, где я читаю данные. Реально там ничего сверхестественного нет.


 
Optimisticus   (2004-02-13 10:20) [8]

to Alex Konshin

Справедлевое замечание. Я не точно выразился, полная схема такова: на MSSQL должен быть job, который запускает Extended SP с параметрами, и получает результат (как значение, так и набор данных).
Сверхестественного действительно нет, но иногда возникают ошибки (вроде той что я указал выше), которая непонятно откуда берется - то ли я напартачил, то ли ошибка библиотеки.
На сайт зайду, но если Вы пришлете, то, что на ваш взгяд могло бы помочь мне разобраться в вопросе. Спасибо!


 
Optimisticus   (2004-02-13 16:01) [9]

С возвратом одного значения я разобрался, а вот как вернуть набор данных непойму :(. Как написать процедуру типа xp_dirtree в MS  SQL Srv2000.


 
Nikolay M. ©   (2004-02-13 18:04) [10]

Загляни в
\Program Files\Microsoft SQL Server\80\Tools\Devtools\Samples\ODS\


 
Alex Konshin ©   (2004-02-13 22:12) [11]

Я и впрямь забыл дома посмотреть... Sorry.

Помнится, что там действительно в примерах по ODS был пример для возвращения набора данных, точнее, он вроде бы читал данные из одного сервера (или даже файла) и отдавал его как результат.
Помню только, что заморочек там было много. Помню еще, что мне показалось проще написать свой механизм передачи данных на клиента (точнее, он у меня уже был, я просто приспособил его и для этих нужд).


 
Optimisticus   (2004-02-16 19:36) [12]

Всем спасибо!!! В основах разобрался, дальше сам буду ;). Но если у кого будут полезные советы/замечания - пишите, будут рад ознакомиться.

Кстати, ошибка о которой я писал, возникала из-за того, что автор с http://www.overbyte.be не корректно работал с памятью.


 
Optimisticus   (2004-02-18 16:46) [13]

Еще раз приветствую: возникла трудность  с возвратом из Extended SP выборки с символьным полем длиной > 255. Инциализируется столбец так:

srv_describe( SrvProc, i+1, PChar(qrADO.Fields[i].FieldName), SRV_NULLTERM, SRVVARCHAR, 500, SRVVARCHAR, 0, nil);

Спасибо


 
Optimisticus   (2004-02-18 17:01) [14]

Дополнение:
Причем если размер ставить 255 - то возвращается все хорошо (для строк малого размера конечно), а если 500 -то поле пустое (не NULL!, а именно пусто)


 
just me   (2004-02-18 20:01) [15]

Если ходишь за данными через DB-Library, то так и должно быть - varchar имеет наибольшую длину 255


 
optimisticus   (2004-02-19 14:39) [16]

to <just me>
нет через ADO...
А как бАльшие строки возвращать? Пока это не критично но интересно...



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

Текущий архив: 2004.03.28;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.035 c
3-1077682613
_sulent
2004-02-25 07:16
2004.03.28
Переопредение стандартных компонентов


14-1077777317
Тумар
2004-02-26 09:35
2004.03.28
Как вы думаете?


3-1076750968
BOR
2004-02-14 12:29
2004.03.28
Нужен модуль, заменяющий BDE !


3-1077362113
Vitalik
2004-02-21 14:15
2004.03.28
окрегление чисел в гриде


3-1077373914
diwin
2004-02-21 17:31
2004.03.28
Как скопировать хранимую процедуру в другую бд?