|
|
|
SQL, ADO и сообщения об ошибках
|
|||
|---|---|---|---|
|
#18+
Есть такой скрипт процедуры Proc1: ... BEGIN TRAN ... if exists (.....трали-вали) begin SELECT @errno=40000, @errmsg='Ошибка' goto error end COMMIT TRAN return error: raiserror @errno @errmsg ROLLBACK TRAN Когда процедура запускается из Access-ADP (например, через connection.command.execute), при выполнении условия if сообщение "Ошибка" вываливается как положено. Однако, если та же процедура выполняется в другой транзакции - например, EXEC Proc1 из другой процедуры, то сообщение об ошибке не выводится в ADO, хотя транзакция честно откатывается. Подскажите, пожалуйста, в чем тут дело и как с этим бороться. Заранее благодарен за Ваши ответы! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 21:49:02 |
|
||
|
SQL, ADO и сообщения об ошибках
|
|||
|---|---|---|---|
|
#18+
Однако, если та же процедура выполняется в другой транзакции - например, EXEC Proc1 из другой процедуры, то сообщение об ошибке не выводится в ADO а часом On Error Resume Next выше нигде не стоит? Иногда удобно отслеживать ошибку через OutPut параметры, не используя Raiserror. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2004, 09:10:03 |
|
||
|
SQL, ADO и сообщения об ошибках
|
|||
|---|---|---|---|
|
#18+
>>а часом On Error Resume Next выше нигде не стоит? не не стоит! а вот такая штука If m_cn.Errors.Count > 0 Then Debug.Print m_cn.Errors(0).Description Debug.Print m_cn.Errors(1).Description End If выводит Count=2 и сообщения следующего типа: 1. Ошибка! -- т.е., что мне и нужно 2.Transaction count after EXECUTE indicates that a COMMIT or ROLLBACK TRANSACTION statement is missing. Previous count = 1, current count = 0. Что означает второе? Подскажите плиз! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2004, 16:37:24 |
|
||
|
SQL, ADO и сообщения об ошибках
|
|||
|---|---|---|---|
|
#18+
возможны проблемные места: автор raiserror @errno @errmsg для раисеррор нужно указывать серверити левел чем выше тем лучше (на стадии когда ее не показывают) иначе это будет не ошибка а предупреждение авторconnection.command.execute Currentproject.connection ? или dim cnn as new adodb.connection cnn.open Currentproject.connection.connectionstring ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2004, 17:49:44 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32565987&tid=1673760]: |
0ms |
get settings: |
7ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
183ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
| others: | 217ms |
| total: | 490ms |

| 0 / 0 |
