powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / COMMIT при разрыве соединения
20 сообщений из 20, страница 1 из 1
COMMIT при разрыве соединения
    #32568657
Winni-Pooh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет, коллеги! Хотел бы посоветоваться и поспрошать, авось кто знает:

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

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

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

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

А приложение случаем не в автокоммите работает ;) ?
...
Рейтинг: 0 / 0
COMMIT при разрыве соединения
    #32574553
Winni-Pooh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да нет, конечно. Но работаю через Gemini ODBC Driver ver2.1. Если, не разрывая соединения, откатываю транзакцию, то откатывается все, так что AUTOCOMMIT отпадает....Так что же это?
...
Рейтинг: 0 / 0
COMMIT при разрыве соединения
    #32574557
vis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
настройки одбц изучал?
...
Рейтинг: 0 / 0
COMMIT при разрыве соединения
    #32574563
Winni-Pooh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Конечно. Выставил ручное управление транзакции. Прикол, что среди официальных функций ODBC не нашел решение вопроса о незавершенной транзакции в случае разрыва соединения
...
Рейтинг: 0 / 0
COMMIT при разрыве соединения
    #32574574
Igor Elyas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прикольно ... вернее не очень прикольно ...
Я тест крутил через JDBC...
Если ситуация гарантировано воспроизводится надо спрашивать разработчиков что самого сервера что этих дров ...
...
Рейтинг: 0 / 0
COMMIT при разрыве соединения
    #32574584
vis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а покажи, мил человек, как ты керуеш транзакциями, плз
...
Рейтинг: 0 / 0
COMMIT при разрыве соединения
    #32574595
Winni-Pooh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хочешь посмотреть - пожалуйста(текст на 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
COMMIT при разрыве соединения
    #32574746
Фотография Dnico
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
COMMIT при разрыве соединения
    #32575013
vis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что есть 2 в:
Winni-Pooh
SQLSetProp(DBHandle,"Transactions",2)
...
Рейтинг: 0 / 0
COMMIT при разрыве соединения
    #32578334
Winni-Pooh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
То бишь ручное управление транзациями, а не AutoCommit
...
Рейтинг: 0 / 0
COMMIT при разрыве соединения
    #32578349
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тебя явно плющит...
Если коннект оборвался , то контекст транзакции потерян.
Ей никто уже не может сказать COMMIT.
Ваааще никто!
...
Рейтинг: 0 / 0
COMMIT при разрыве соединения
    #32578946
Winni-Pooh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Однако ситуация есть, я уже перепроверил....
...
Рейтинг: 0 / 0
COMMIT при разрыве соединения
    #32579225
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Завязывать пора с планом...
Того и гляди, слоны полетят косяками...
...
Рейтинг: 0 / 0
COMMIT при разрыве соединения
    #32582491
Winni-Pooh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот и план выветрился...Оказывается, дело именно в ODBC. Даже при ручном управлении транзакциями функция SQLDisconnect() делает COMMIT, а Fox допустил ошибку RollBack'a. Щас добавил перед SQLDisconnect() явный SQLRollBack() (кашу маслом не испортишь), и все заработало!
...
Рейтинг: 0 / 0
COMMIT при разрыве соединения
    #32582533
vis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а причем тут авторпри обрыве коннекта клиета на середине транзакции???
Какой Rollback ты можешь сделать, если сервера у тебя уже нет???
...
Рейтинг: 0 / 0
COMMIT при разрыве соединения
    #32594246
Winni-Pooh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to vis

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


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