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

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

Как создать DLL для MS SQL Server 2000? [D5, D6, D7, MSSQL]


Optimisticus ©   (2004-02-10 19:58:00) 

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


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

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


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

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


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

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


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

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

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

Спасибо


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

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

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


Alex Konshin   (2004-02-13 22:12:00) [6]

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

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


Nikolay M.   (2004-02-13 18:04:00) [7]

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


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

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


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

to Alex Konshin

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


Alex Konshin   (2004-02-12 04:54:00) [10]

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


Alex Konshin   (2004-02-12 04:43:00) [11]

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


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

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 набор данных.


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

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


Nikolay M.   (2004-02-10 22:20:00) [14]

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


vuk   (2004-02-10 20:53:00) [15]

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


ZrenBy   (2004-02-10 20:02:00) [16]

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

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


Наверх

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