|
|
|
Кто откатывает транзакцию?
|
|||
|---|---|---|---|
|
#18+
Специалисты, помогите разобраться в ситуации: в ниже приведенном коде на vbscript при возникновении ошибки во втором INSERTе транзакция откатывается сама. как бы узнать кто за это отвечает и на сколько это надежно. on error goto 0 Dim k, ra k=0 ra=0 Set oRS = CreateObject("ADODB.connection") oRS.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\base\proba.mdb" ors.Open k=ors.BeginTrans ors.Execute "INSERT INTO ORs1 (TN) values ( '" & Now() & "');",ra ors.Execute "INSERT INTO ORs2 (TN) values ( '" & Now() & "');",ra 'if err.number<>0 then ' msgbox "Возникла ошибка, при обновлении данных" ' ors.RollbackTrans 'else ' ors.CommitTrans 'end if ors.CommitTrans ors.Close Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2006, 09:57:53 |
|
||
|
Кто откатывает транзакцию?
|
|||
|---|---|---|---|
|
#18+
У вас этим занимается "on error goto 0". Надежней некуда - все падает, коннект рвется, транзакцию откатывает сам сервер. Вот только зачем так грубо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2006, 10:04:20 |
|
||
|
Кто откатывает транзакцию?
|
|||
|---|---|---|---|
|
#18+
Спасибо. Если не сложно подскажите в чем грубость и как это сделать нежнее. on error goto line похоже, что не работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2006, 10:12:35 |
|
||
|
Кто откатывает транзакцию?
|
|||
|---|---|---|---|
|
#18+
On error goto er ====== exit sub er: if err.numberф>< оператор закрытия транз оператор закрытия соединения if ors.State=adStateOpen then ors.Close ======= goto to 0 вываливает код без оброботки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2006, 11:35:06 |
|
||
|
Кто откатывает транзакцию?
|
|||
|---|---|---|---|
|
#18+
Спасибо. На VB/VBA я так и делал, но на vbscript (может быть только у меня) после on error goto компилятор пропускает только 0 И метка, И номер строки, И NEXT вызывают ошибку компиляции сценария ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2006, 12:02:25 |
|
||
|
Кто откатывает транзакцию?
|
|||
|---|---|---|---|
|
#18+
Забыл сказать: Win XP SP1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2006, 12:06:31 |
|
||
|
Кто откатывает транзакцию?
|
|||
|---|---|---|---|
|
#18+
а exit sub можно использовать? а по номеру строки нельзя указать на строку обработки ошибки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2006, 12:20:55 |
|
||
|
Кто откатывает транзакцию?
|
|||
|---|---|---|---|
|
#18+
Вместо Exit Sub можно указать wscript.quit А вот с номером строки или меткой - проблемка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2006, 12:42:26 |
|
||
|
Кто откатывает транзакцию?
|
|||
|---|---|---|---|
|
#18+
ZDСпасибо. На VB/VBA я так и делал, но на vbscript (может быть только у меня) после on error goto компилятор пропускает только 0 И метка, И номер строки, И NEXT вызывают ошибку компиляции сценария Вообще-то, команда не "ON ERROR GOTO NEXT" а "ON ERROR RESUME NEXT". А "ON ERROR GOTO SomeLabel" VBS действительно не понимает. Для VBS возможны только два варианта: Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2006, 18:01:46 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=33530868&tid=2166415]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
189ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 206ms |
| total: | 479ms |

| 0 / 0 |
