Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / COMMIT при разрыве соединения / 20 сообщений из 20, страница 1 из 1
20.06.2004, 13:22:48
    #32568657
Winni-Pooh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COMMIT при разрыве соединения
Привет, коллеги! Хотел бы посоветоваться и поспрошать, авось кто знает:

Проблема недюжинная: при обрыве коннекта клиета на середине транзакции сервер делает COMMIT исполненной части, а мине надобно ROLLBACK. Как енто сделать?
...
Рейтинг: 0 / 0
21.06.2004, 10:23:12
    #32569038
Johnmen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COMMIT при разрыве соединения
>при обрыве коннекта клиета на середине транзакции сервер делает COMMIT

Откуда сведения ?
:)

...
Рейтинг: 0 / 0
21.06.2004, 17:01:41
    #32570166
Злобастый
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COMMIT при разрыве соединения
Сдаётся мне други, что Винни-Пух обожрался "неправильного мёда".
...
Рейтинг: 0 / 0
23.06.2004, 19:05:52
    #32574533
Winni-Pooh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COMMIT при разрыве соединения
А ты попробуй длинную транзакцию и закрой соединение на середине. И увидишь....
...
Рейтинг: 0 / 0
23.06.2004, 19:09:47
    #32574542
Igor Elyas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COMMIT при разрыве соединения
Ну сделал транзакцию. Рубанул соединение.

Сервер откатил изменения.

А приложение случаем не в автокоммите работает ;) ?
...
Рейтинг: 0 / 0
23.06.2004, 19:16:02
    #32574553
Winni-Pooh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COMMIT при разрыве соединения
Да нет, конечно. Но работаю через Gemini ODBC Driver ver2.1. Если, не разрывая соединения, откатываю транзакцию, то откатывается все, так что AUTOCOMMIT отпадает....Так что же это?
...
Рейтинг: 0 / 0
23.06.2004, 19:21:30
    #32574557
vis
vis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COMMIT при разрыве соединения
настройки одбц изучал?
...
Рейтинг: 0 / 0
23.06.2004, 19:24:36
    #32574563
Winni-Pooh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COMMIT при разрыве соединения
Конечно. Выставил ручное управление транзакции. Прикол, что среди официальных функций ODBC не нашел решение вопроса о незавершенной транзакции в случае разрыва соединения
...
Рейтинг: 0 / 0
23.06.2004, 19:30:08
    #32574574
Igor Elyas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COMMIT при разрыве соединения
Прикольно ... вернее не очень прикольно ...
Я тест крутил через JDBC...
Если ситуация гарантировано воспроизводится надо спрашивать разработчиков что самого сервера что этих дров ...
...
Рейтинг: 0 / 0
23.06.2004, 19:33:16
    #32574584
vis
vis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COMMIT при разрыве соединения
а покажи, мил человек, как ты керуеш транзакциями, плз
...
Рейтинг: 0 / 0
23.06.2004, 19:40:44
    #32574595
Winni-Pooh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COMMIT при разрыве соединения
Хочешь посмотреть - пожалуйста(текст на VFP7):

ON ERROR SQLRollBack(DBHandle)
DBHandle=SQLConnect("conn1","sysdba","masterkey")
if DBHandle>0
SQLSetProp(DBHandle,"Transactions",2)
s1=SQLExec(DBHandle,"INSERT INTO aa (a1,a2) VALUES (1,2)")
s2=SQLExec(DBHandle,"UPDATE bb SET b1=2 WHERE b2=3")
if (s1>0) .and. (s2>0)
SQLRollBack(DBHandle)
else
SQLCommit(DBHandle)
endif
endif

Текст конечно вымышленный, но принцип тот же...:)
...
Рейтинг: 0 / 0
24.06.2004, 00:04:31
    #32574746
Dnico
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COMMIT при разрыве соединения
Winni-Pooh

Сколько раз мои пользователи обрывали соединение (причем в наглую - RESET) и ни разу не было COMMIT!

Igor ElyasА приложение случаем не в автокоммите работает ;) ?
Скорее все что так !

Winni-PoohДа нет, конечно. Но работаю через Gemini ODBC Driver ver2.1. Если, не разрывая соединения, откатываю транзакцию, то откатывается все, так что AUTOCOMMIT отпадает....Так что же это?
Gemini ODBC Driver ver2.1 - может как раз в этом и кроется причина ?

Попробуй IBX или FIBPlUS - точно поможет ... хотя
'Хочешь посмотреть - пожалуйста(текст на VFP7)'



Best regards,
Dnico.
...
Рейтинг: 0 / 0
24.06.2004, 10:25:46
    #32575013
vis
vis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COMMIT при разрыве соединения
а что есть 2 в:
Winni-Pooh
SQLSetProp(DBHandle,"Transactions",2)
...
Рейтинг: 0 / 0
25.06.2004, 19:13:18
    #32578334
Winni-Pooh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COMMIT при разрыве соединения
То бишь ручное управление транзациями, а не AutoCommit
...
Рейтинг: 0 / 0
25.06.2004, 19:34:40
    #32578349
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COMMIT при разрыве соединения
Тебя явно плющит...
Если коннект оборвался , то контекст транзакции потерян.
Ей никто уже не может сказать COMMIT.
Ваааще никто!
...
Рейтинг: 0 / 0
28.06.2004, 07:49:44
    #32578946
Winni-Pooh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COMMIT при разрыве соединения
Однако ситуация есть, я уже перепроверил....
...
Рейтинг: 0 / 0
28.06.2004, 11:53:15
    #32579225
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COMMIT при разрыве соединения
Завязывать пора с планом...
Того и гляди, слоны полетят косяками...
...
Рейтинг: 0 / 0
30.06.2004, 09:58:15
    #32582491
Winni-Pooh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COMMIT при разрыве соединения
Вот и план выветрился...Оказывается, дело именно в ODBC. Даже при ручном управлении транзакциями функция SQLDisconnect() делает COMMIT, а Fox допустил ошибку RollBack'a. Щас добавил перед SQLDisconnect() явный SQLRollBack() (кашу маслом не испортишь), и все заработало!
...
Рейтинг: 0 / 0
30.06.2004, 10:18:21
    #32582533
vis
vis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COMMIT при разрыве соединения
а причем тут авторпри обрыве коннекта клиета на середине транзакции???
Какой Rollback ты можешь сделать, если сервера у тебя уже нет???
...
Рейтинг: 0 / 0
07.07.2004, 20:39:50
    #32594246
Winni-Pooh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COMMIT при разрыве соединения
to vis

Самодельная трехзвенка - вот и попался... Я потому и советовался насчет трехзвенки...
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / COMMIT при разрыве соединения / 20 сообщений из 20, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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