|
Хранимые процедуры в классическом ASP
|
|||
---|---|---|---|
#18+
Задавал вопрос, но ответа не нашел и сам топик где-то затерялся. Нашел ответ сам, но долго искал, решил поделится может кому пригодится. Тема хоть и старая, но мне пришлось потрудится чтобы разрешить загадку. Речь идет о вызове хранимых процедур в контексте объекта ADODB.Command Чтобы правильно вызвать системную процедуру (конечно, при условии что она правильно создана и описана) необходимо: 1. Поместить в global.asa следующую строку: Код: plaintext
Это даст возможность при задавать свойства объекта ADODB.Command при помощи литеральных констант, таких как adChar, adDecimal, adParamInput и т.д., а не цифр, которые довольно сложно запомнить. 2. Обязательно нужно указать свойство: Код: plaintext
Это необходимо для того чтобы во-первых SQL сервер однозначно определял свойство cmd.CommandText = "name_procedure", как имя системной процедуры. Во-вторых, по невыясненным причинам, если процедура все же неправильно написана (в моем случае отсутствовал оператор ROLLBACK TRAN), то сервер сообщает не о характере ошибки, а об отсутствующем входном параметре. Даже несмотря на то что все необходимые параметры уже присутсвуют в коллекции, в чем нетрудно убедится, выполнив следующий код: Код: plaintext 1. 2.
Такие дела. Для любителей кидаться кирпичами. В прошлый раз когда я написал статью, я наслушался разного: "Ламерская статья", "Это не оптимально" и т.д. Мужики! Да я и не говорю что это лучший способ, или что я Америку открыл... Но к сожалению, сложно найти по настоящему обстоятельный ответ. Профессионалы чаще отбрасываются короткими фразами, вместо того чтобы рассказать как действительно НАДО писать. Зачем тогда вообще писать? Axl ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2003, 09:32 |
|
|
start [/forum/topic.php?fid=17&gotonew=1&tid=1354362]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
27ms |
get topic data: |
12ms |
get first new msg: |
46ms |
get forum data: |
3ms |
get page messages: |
30ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 162ms |
0 / 0 |