Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Кто откатывает транзакцию? / 10 сообщений из 10, страница 1 из 1
08.02.2006, 09:57:53
    #33530371
zd
zd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто откатывает транзакцию?
Специалисты, помогите разобраться в ситуации:
в ниже приведенном коде на 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


Спасибо.
...
Рейтинг: 0 / 0
08.02.2006, 10:04:20
    #33530383
Melkiades
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто откатывает транзакцию?
У вас этим занимается "on error goto 0". Надежней некуда - все падает, коннект рвется, транзакцию откатывает сам сервер. Вот только зачем так грубо?
...
Рейтинг: 0 / 0
08.02.2006, 10:12:35
    #33530400
zd
zd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто откатывает транзакцию?
Спасибо.

Если не сложно подскажите в чем грубость и как это сделать нежнее.
on error goto line похоже, что не работает.
...
Рейтинг: 0 / 0
08.02.2006, 11:35:06
    #33530727
TIKO
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто откатывает транзакцию?
On error goto er



======

exit sub
er:

if err.numberф><
оператор закрытия транз
оператор закрытия соединения
if ors.State=adStateOpen then ors.Close
=======
goto to 0
вываливает код без оброботки
...
Рейтинг: 0 / 0
08.02.2006, 12:02:25
    #33530848
zd
zd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто откатывает транзакцию?
Спасибо.
На VB/VBA я так и делал, но на vbscript (может быть только у меня)
после on error goto
компилятор пропускает только 0
И метка, И номер строки, И NEXT
вызывают ошибку компиляции сценария
...
Рейтинг: 0 / 0
08.02.2006, 12:06:31
    #33530868
zd
zd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто откатывает транзакцию?
Забыл сказать: Win XP SP1
...
Рейтинг: 0 / 0
08.02.2006, 12:20:55
    #33530931
TIKO
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто откатывает транзакцию?
а exit sub
можно использовать?
а по номеру строки нельзя указать на строку обработки ошибки?
...
Рейтинг: 0 / 0
08.02.2006, 12:42:26
    #33531037
zd
zd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто откатывает транзакцию?
Вместо Exit Sub можно указать wscript.quit

А вот с номером строки или меткой - проблемка.
...
Рейтинг: 0 / 0
08.02.2006, 18:01:46
    #33532327
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто откатывает транзакцию?
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.
On Error Resume Next
On Error GoTo  0 
...
Рейтинг: 0 / 0
09.02.2006, 11:21:56
    #33533394
zd
zd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто откатывает транзакцию?
Да-а-а-а.
Действительно
On Error Resume Next.
Прийдется чуть усложнить логику, но корректно обработать ошибки
получится.
Спасибо.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Кто откатывает транзакцию? / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]