|
Help!!!ADO.Command & Oracle. "Затирается" первый параметр
|
|||
---|---|---|---|
#18+
при вызове из Command ХП (не возвращающей выборку), игнорируется первый параметр. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Т.е. в F_NAME вместо переданного текста пишется то 0 (при последующих вызовах 1). При вызове этой же ХП из SQL+ все работает прекрасно. Ради интереса поменял местами два параметра в ХП - теперь в F_PARAMID пишется 0 или 1. Когда разибрался в MSSQL, сталкивался с аналогичной проблемой, она была вызвана необходимостью поддержки неявного параметра - кода возврата ХП, решалось это просто: Код: plaintext 1. 2. 3.
В случае с Oracle попробовал справиться тем же способом - не получилось, ругается что не находит процедуру (видимо не нравится число параметров). Код: plaintext 1. 2.
На форуме уже был как-то подобный топик, но никто на него не ответил. Может, в Oracle надо как-то явно указывать возвращаемый параметр? Что делато???!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
13.06.2003, 15:47 |
|
Help!!!ADO.Command & Oracle. "Затирается" первый параметр
|
|||
---|---|---|---|
#18+
это скорее у ораклистов надо спросить, они должны знать. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.06.2003, 16:31 |
|
Help!!!ADO.Command & Oracle. "Затирается" первый параметр
|
|||
---|---|---|---|
#18+
... ораклисты отошлют к программерам, т.к. ADO & OLEDB не их интересы... Это становится уже традицией - сам себе отвечаю. Поскольку в Oracle ХП не умеют возвращать значение с оператором RETURN, а в Command (не получающем recordset) первым параметром напрашивается RetVal, придется во всех ХП первым параметром явно указывать код возврата следующим образом: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
ЗЫ: Если кто-то знает, как сделать лучше (правильней)? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.06.2003, 17:11 |
|
Help!!!ADO.Command & Oracle. "Затирается" первый параметр
|
|||
---|---|---|---|
#18+
Правильней написать функцию вместо процедуры :) Или вызывай блок кода типа: begin Процедура(а,б); end; Тогда все получится правильно, но медленно. А вообще лучше все хранить в пакетах и если уж тебе ну так уж сильно надо вызывать процедуру вместо функции, придется делать так, как ты сам накопал. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2003, 06:05 |
|
|
start [/forum/topic.php?fid=17&msg=32182349&tid=1354353]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
231ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 234ms |
total: | 568ms |
0 / 0 |