Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как показать сообщение из СП,
|
|||
|---|---|---|---|
|
#18+
Имеем Adaptive Server Enterprise/12.5.0.3/EBF 11443 ESD#4/P/RS6000/AIX 4.3.3/rel12503/1939/32-bit/FBO/Sun Sep 21 00:54:50 2003 ASP. ADO + Sybase ODBC Driver 4.10.00.60 Помогите вывести сообщение об ошибке из СП. Просто задрался уже. Ничего в своем коде не вижу криминального. СП имеет упрощенно set nocount on ... if some_condition begin select @err_code = 99999 select @err_msg = 'bla bla bla' end raiserror @err_code @err_msg -- <--------- this is last line in sp В SQL Advantage выводится Server Message: Number 99999, Severity 16 Server 'SYBASEN20', Procedure 'insert_phone', Line 87: bla bla bla (return status = 0) ASP код тоже туп до безобразия Function GetErrorMessage(objConn) Dim s If ConnObj.Errors.Count > 0 Then For Each objErr in ConnObj If objErr.Number <> 0 Then s = s + objErr.Description End If Next End If GetErrorMessage = s End Function on error resume next .... Conn.Execute(sql) Response.Write(GetErrorMessage(Conn)) И нифига не выводится!!! Несколько смущает return status = 0. Но в теории... это вроде не проблема... На стороне ASP если убрать resume, то страничка как положено показывает все ошибки и месаги. Можно конечно работать с VBScript Err, но хотелось бы реально понять в чем проблема. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2005, 19:16 |
|
||
|
Как показать сообщение из СП,
|
|||
|---|---|---|---|
|
#18+
Да, в ASP пропущена строчка GetErrorMessage = s т.е. я не забыл вернуть результат... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2005, 19:18 |
|
||
|
Как показать сообщение из СП,
|
|||
|---|---|---|---|
|
#18+
Mike EvteevASP код тоже туп до безобразия Может быть в том то и дело? :) Но это нельзя сказать не увидев полный текст к сожалению. А скорее всего ты не правильно вызываешь свою GetErrorMessage функцию. Внутри одного соединения (которое в ADO-VB представлено одним экземляром ADODB.Connection) создается множество явных и неявных курсоров и подготовленных команд (в ADO-VB это ADODB.Command и ADODB.Recordset). Ошибки произошедшие во время запроса одной команды будут относится к этой команде и только к ней. В общем на каждый командный объект свой буфер ошибок. В ADO это сделано не очень прозрачно к сожалению... В общем попробуй поиграться вот с этим и сам увидишь: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2005, 20:23 |
|
||
|
Как показать сообщение из СП,
|
|||
|---|---|---|---|
|
#18+
Спасибо за совет! Но, это вроде не мой случай. Впрочем, я таки нашел в чем проблема. Сраный VB, несмотря на option explicit, не отругался на переменную. Так что дело было в простой опечатке. Пока все не вымочил и не написал построчно... :-( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2005, 16:05 |
|
||
|
|

start [/forum/topic.php?fid=55&tid=2013352]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
58ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 227ms |
| total: | 368ms |

| 0 / 0 |
