|
|
|
Определение типов параметров хранимой процедуры во время выполнения
|
|||
|---|---|---|---|
|
#18+
Добрый вечер. Подскажите решение вот какой задачки. Есть имя хранимой процедуры. Во время выполнения нужно определить типы параметров этой процедуры (пока не важно тип быдет представлен числовым кодом или строчкой аля 'varchar') В табличке sysprocedures есть поле paramtypes с типом RTNPARAMTYPE. Я не знаю, как вытащить значения из этого поля. Пробовал использовать типизированные/нетипизированные списки, но информикс ругается, что не может корректно преобразовать тип (ошибка -9602). Например, выполняю запрос "select numargs, paramtypes from sysprocedures where procname = 'blablabla'"; Вот код, который пытается получить значение поля paramtypes: Код: 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. Внимание, вопрос: что я делаю не так? Как можно достучаться до значения paramtypes (а затем и до конкретных типов)? PS Используется ESQL/C и Informix Dynamic Server 9.02 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2005, 18:42 |
|
||
|
Определение типов параметров хранимой процедуры во время выполнения
|
|||
|---|---|---|---|
|
#18+
1. Раз DB-Access достучаться до значений может, значит, и ESQL/C сможет. 2. В руководстве IBM Informix ESQL/C Programmers Manual есть целая глава на нужную вам тему: "Working with Opaque Data Types..." Там все и написано. 3. По идее, если в вашем коде вместо: client collection typeList; написать что-то вроде lvarchar 'rtnparamtype' typeList[4096] то результат может измениться в лучшую сторону. Вобщем, я не разбираюсь в деталях ESQL/C, но куда копать, думаю, понятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2005, 14:33 |
|
||
|
Определение типов параметров хранимой процедуры во время выполнения
|
|||
|---|---|---|---|
|
#18+
Select procid, procname, paramtypes::lvarchar::varchar(255) from sysprocedures у меня так работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2005, 15:31 |
|
||
|
|

start [/forum/topic.php?fid=44&tid=1609102]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
52ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 214ms |
| total: | 358ms |

| 0 / 0 |
