|
|
|
Странные вещи в ADO с параметрами Text и Image
|
|||
|---|---|---|---|
|
#18+
Из клиента на VB вызываю процедуру данная процедура берет часть параметров от клиента часть из таблицы настроек и вызывает расширенную хранимую. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. Проблема в том, что мне первый параметр @bData (text или image) нужен как output (если он input то проблем нет). Вот код вызова на VB Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. Мне не совсем понятно, что надо указывать в строке Set bData = cm.CreateParameter("@bData", adLongVarBinary, adParamInputOutput) adVarBinary или adLongVarbinary, так как в книге Поль-Конте говорится, что для Text-adLongVarchar, для image-adLongVarBinary, если я так указываю у меня ошибка происходит. Вот что сервер выдает на консоль при отладке расширенной процедуры Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Решил узнать какого же типа параметр разкоментировал строку в VB 'cm.Parameters.Refresh а на следующей бряк ставлю смотрю параметр - adVarbinary. Ставлю adVarBinary (сначала это и стояло, до того как не сделал параметр процедуры output) начинается другая проблема, в процедуру приходит в параметр @bData всего 8000 байтов. Определяю то что приходит 8000 строкой в хранимой Код: plaintext А ведь в BOL в топике Create procedure сказано: OUTPUT Indicates that the parameter is a return parameter. The value of this option can be returned to EXEC[UTE]. Use OUTPUT parameters to return information to the calling procedure. Text, ntext, and image parameters can be used as OUTPUT parameters. An output parameter using the OUTPUT keyword can be a cursor placeholder. Те же яй.. если ставлю text. У меня Microsoft SQL Server 2000 - 8.00.534 (Intel X8 6) Nov 19 2001 13:23:50 Copyright (c) 1988-2000 Microsoft Corporation Enterprise Edition on Windows NT 5.0 (Build 2195: Service Pack 2) Использую ADO 2.7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2002, 13:22:08 |
|
||
|
Странные вещи в ADO с параметрами Text и Image
|
|||
|---|---|---|---|
|
#18+
Выход конечно есть у меня из данной ситуации 1) в расширенной клиенту сделать resulset с одним полем типа text и вернуть на клиента. 2) сделать прямой вызов расширенной а та пусть сама достает из базы недостающие параметры. Но мне все таки очень интересно почему так не работает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2002, 13:34:19 |
|
||
|
Странные вещи в ADO с параметрами Text и Image
|
|||
|---|---|---|---|
|
#18+
В BOL сказано: Return parameters can be of any data type except the text or image data types. Это в разделе описания оператора EXECUTE в описании опции OUTPUT Так что выход один - возвращать image как поле рекордсета. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2002, 13:36:16 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32068956&tid=1818736]: |
0ms |
get settings: |
7ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
21ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 218ms |
| total: | 331ms |

| 0 / 0 |
