|
|
|
расширенная процедура
|
|||
|---|---|---|---|
|
#18+
угораздило меня написать процедурку Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. dll цепляется, но возвращает NULL может кто писал, подскажите ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2002, 16:51:14 |
|
||
|
расширенная процедура
|
|||
|---|---|---|---|
|
#18+
Код: plaintext Код: plaintext 1. 2. на выходе - NULL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2002, 17:08:09 |
|
||
|
расширенная процедура
|
|||
|---|---|---|---|
|
#18+
я конечно не силен в делфи, но думаю что в данном случае надо писать конструкцию типа Код: plaintext 1. 2. 3. потому как result - результат выполнения функции и вряд ли он будет OUTPUT-параметром ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2002, 17:27:24 |
|
||
|
расширенная процедура
|
|||
|---|---|---|---|
|
#18+
2 AAron - блин, заработало ! Спасибо ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2002, 17:29:50 |
|
||
|
расширенная процедура
|
|||
|---|---|---|---|
|
#18+
Вот кусок из BOL Transact-SQL Script -- TSQL script exercising xp_hello sample use master go sp_addextendedproc 'xp_hello', 'xp_hello.dll' go -- Call xp_hello with literal parameters declare @txt varchar(33) exec xp_hello @txt OUTPUT select @txt AS OUTPUT_Parameter go sp_dropextendedproc 'xp_hello' go dbcc xp_hello(free) go -- EXPECTED RESULTS -- Column 1: -- --------- -- Hello World! -- (1 row(s) affected) -- OUTPUT_PARAMETER -- ---------------- -- Hello World! -- (1 row(s) affected) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2002, 17:33:09 |
|
||
|
расширенная процедура
|
|||
|---|---|---|---|
|
#18+
declare @txt varchar(33) exec xp_hello @txt OUTPUT select @txt AS OUTPUT_Parameter go они ошибаются что ли ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2002, 17:34:10 |
|
||
|
расширенная процедура
|
|||
|---|---|---|---|
|
#18+
может и не ошибаются... я же не вижу текста процедуры xp_hello... могу предположить что там что-то типа int xp_hello(int * param1) { param1 = ptrInnerParam } (сорри за возможные ошибки, забыл я уже C++)... но смысл в том, что скорее параметр передается по указателю, и в случае OUTPUT, это значение TSQL получает обратно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2002, 17:50:27 |
|
||
|
расширенная процедура
|
|||
|---|---|---|---|
|
#18+
"Они" не ошибаются. Возвращаемое целочисленное значение в Extended Stored Procedure зарезервировано для флага нормально процедура выполнилась (SUCCESS=1) или ненормально (FAIL=0). Дело, конечно, разработчика - какие еще значения через результат ворачивать, но результат такого мероприятия не гарантирован. А полагается возвращать значения через OUTPUT-параметры. С параметрами работают специальные ODS-фукции, с которыми придется познакомиться в MSDN. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2002, 18:09:24 |
|
||
|
расширенная процедура
|
|||
|---|---|---|---|
|
#18+
будем знакомиться с ентими функциями, всем огромное спасибо ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2002, 18:15:46 |
|
||
|
расширенная процедура
|
|||
|---|---|---|---|
|
#18+
может знает кто, библиотеку для Дельфинария, которая содержит описание ODS функций (я могу конечно сам их описать, но это слишком долго). Я бы с радостью перешел на С, но так вдруг не получится, так что приходится пока на дельфинарии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2002, 17:10:52 |
|
||
|
расширенная процедура
|
|||
|---|---|---|---|
|
#18+
Дльфинарий не для того создана - Имхо, на нем гуйню писать надо. А процы расшаранные лучше всяко на си, так что не дрейфь, переходи - куча примеров есть, если что. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2002, 17:17:55 |
|
||
|
расширенная процедура
|
|||
|---|---|---|---|
|
#18+
Дельфовый хидер для ODS видел на http://www.delphi-jedi.org в разделе API Library ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2002, 17:24:35 |
|
||
|
расширенная процедура
|
|||
|---|---|---|---|
|
#18+
2 Dankov - да нашел, спасибо ! 2 puskin - согласен, но для того, что бы понять суть - можно и на Дельфинарии, это же не для использования в коммерческих проектах, а так, потихоничку, перейдем на С ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2002, 17:28:48 |
|
||
|
расширенная процедура
|
|||
|---|---|---|---|
|
#18+
нет, ну точно дегенераты - jedi, Yoda.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2002, 17:31:51 |
|
||
|
расширенная процедура
|
|||
|---|---|---|---|
|
#18+
я про козлов с jedi ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2002, 18:04:21 |
|
||
|
расширенная процедура
|
|||
|---|---|---|---|
|
#18+
Чем они тебя так разозлили? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2002, 18:16:34 |
|
||
|
расширенная процедура
|
|||
|---|---|---|---|
|
#18+
так вот, пишу я процедуру, она отрабатывает, возвращает данные, а затем выдает (2 row(s) affected) ODBC: Msg 0, Level 19, State 1 SqlDumpExceptionHandler: Process 52 generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process. Connection Broken может у кого было такое, поделитесь ..... WINDOWS 2000 Prof SQL 2000 DE SP2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2002, 12:04:10 |
|
||
|
расширенная процедура
|
|||
|---|---|---|---|
|
#18+
пиши на си... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2002, 12:26:44 |
|
||
|
расширенная процедура
|
|||
|---|---|---|---|
|
#18+
2 MiCe - спасибо, помог братан, побольше бы таких дельных советов ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2002, 12:29:49 |
|
||
|
расширенная процедура
|
|||
|---|---|---|---|
|
#18+
Ну, это ошибка в коде. Надо смотреть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2002, 13:48:46 |
|
||
|
расширенная процедура
|
|||
|---|---|---|---|
|
#18+
2 Dankov - это пример, кот. я скачал по ссылке. Первый прокатывает, второй при ColName1 := 'spname'; i:=srv_describe(SrvProc, 0, ColName1, SRV_NULLTERM, SRVCHAR, MAXLEN, SRVCHAR, 0, nil); дает ошибку(т.е. то что я писал выше), хотя код возврата не показывает ошибку, данные процедура возвращает, а все равно пишет, блин, ошибка и все если закомментировать строки, все ОК ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2002, 14:00:58 |
|
||
|
расширенная процедура
|
|||
|---|---|---|---|
|
#18+
Если ColName1 типа string, то должно быть так: i:=srv_describe(SrvProc, 0, pchar(ColName1), SRV_NULLTERM, SRVCHAR, MAXLEN, SRVCHAR, 0, nil); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2002, 14:11:26 |
|
||
|
расширенная процедура
|
|||
|---|---|---|---|
|
#18+
видишь ли в чем дело, она отрабатывает корректно, т.е. в QA я честно вижу 2 столбика данных, а откуда это сообщение вылазит, нипойму. Насчет pchar можно попробовать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2002, 14:18:11 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32039720&tid=1820764]: |
0ms |
get settings: |
5ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
41ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 349ms |

| 0 / 0 |
