|
Получить inout параметр через ODBC
|
|||
---|---|---|---|
#18+
Sybase ASA 12.0.1 Ни как не удается получить выходной параметр из процедуры. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Код: 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. 27. 28. 29.
Переменная col получает значение "hello", но buf остается без изменений. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2012, 19:25 |
|
Получить inout параметр через ODBC
|
|||
---|---|---|---|
#18+
moteus Код: plaintext 1.
Переменная col получает значение "hello", но buf остается без изменений.Чему равняется этот ret? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2012, 20:23 |
|
Получить inout параметр через ODBC
|
|||
---|---|---|---|
#18+
Все ret равны 0 (кроме второго вызова SQLFetch и SQLMoreResult они возвращают 100) Данные передаются в процедуру и возвращаются через SQLBindCol. SQLGetDescField( ... SQL_DESC_PARAMETER_TYPE ...) для этого параметра возвращает тип SQL_PARAM_INPUT_OUTPUT. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2012, 20:27 |
|
Получить inout параметр через ODBC
|
|||
---|---|---|---|
#18+
уберите последний select в хранимке и попробуйте снова. Я когда-то сталкивался, что из асашки через одбц не получалась получать и резалтсет и аут-переменный. Можно было брать что-то одно. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2012, 12:24 |
|
Получить inout параметр через ODBC
|
|||
---|---|---|---|
#18+
Без select тоже не работает. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8.
Код: plaintext 1. 2. 3.
После SQLExecute я получаю 123 в переменной i. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2012, 12:45 |
|
Получить inout параметр через ODBC
|
|||
---|---|---|---|
#18+
так, а попробуйте ХП без returns, возврат через out-переменную с тем-же кодом. Ну и кавычки вокруг имен переменных уберите. ALTER FUNCTION "DBA"."fn_test"( IN inChar char(30), OUT vResult integer) BEGIN set vResult=0; if('hello' = inChar) then set vResult=123; end if; END ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2012, 13:03 |
|
Получить inout параметр через ODBC
|
|||
---|---|---|---|
#18+
Результат из функции я получаю правильно(SQL_PARM_OUTPUT для конструкции '? = call ...' работает) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2012, 13:07 |
|
Получить inout параметр через ODBC
|
|||
---|---|---|---|
#18+
Функции не поддерживают out параметры. Сейчас я тестирую на ASA 9.0.2. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2012, 13:10 |
|
Получить inout параметр через ODBC
|
|||
---|---|---|---|
#18+
Вот такая процедура работает. (T-SQL) Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
Если убрать NO RESULT SET то параметр не возвращается. Похоже это фича ASA. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2012, 13:29 |
|
Получить inout параметр через ODBC
|
|||
---|---|---|---|
#18+
И так тоже работает Код: sql 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2012, 13:32 |
|
|
start [/forum/topic.php?fid=55&fpage=13&tid=2010042]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
66ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 186ms |
0 / 0 |