Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.03;
Скачать: CL | DM;

Вниз

Вложенные транзакции в ADO   Найти похожие ветки 

 
Best Before 2024   (2002-09-12 12:23) [0]

Скажите, разве нельзя сделать такое
ADOConnection1.BeginTrans;
...

ADOConnection1.BeginTrans; //ругается, что транзакция уже открыта

...
ADOConnection1.CommitTrans;
...
ADOConnection1.CommitTrans;


 
Best Before 2024   (2002-09-12 12:37) [1]

???


 
Johnmen ©   (2002-09-12 12:41) [2]

И что же здесь удивительного ? Одно соединение - одна тр-ция.


 
ЮЮ ©   (2002-09-12 12:42) [3]

Нельзя, раз ругается? А смысл вложенной транзакции?
Если устроят внешние изменения при откате внутренних, то сделать внутренние в сторонке, после выполнения внешних.


 
Best Before 2024   (2002-09-12 12:43) [4]

Зачем тогда BeginTrans возвращает Level ???


 
Best Before 2024   (2002-09-12 13:03) [5]

Нигде не написано, что этого делать нельзя.
Более того, на VB у меня все это проходило нормально.
Что-то Delphi не очень дружит c ADO. Сделали какую-то обертку и все.


 
Best Before 2024   (2002-09-12 13:56) [6]

Где все знатоки?


 
Best Before 2024   (2002-09-12 14:10) [7]

?


 
Shaman_Naydak ©   (2002-09-12 14:24) [8]

Ну что я могу сказать..
ADO - универсальная оболочка для доступа к данным..
А вложенные транзакции - то, какая будет реакция зависит от используемого провайдера..
Например, для провайдера MS SQL сервера реакция будет такая:
Вложенные транзакции разрешены, но их нет :). То есть если у тебя произошел Rollback где-нибудь внутри 5-й транзакции, откатятся все


 
Best Before 2024   (2002-09-12 14:38) [9]

2 Shaman_Naydak © (12.09.02 14:24)
Да ради бога, пусть откатываются все!
Я не могу начать вложенную транзакцию


 
sniknik ©   (2002-09-12 15:36) [10]

вряд ли тут ADO виновато
т.к описанная ситуация срабатывает при подключении к ACCESS а вот если MSSQL то почему то только в одном блоке работает
BEGIN TRANSACTION
BEGIN TRANSACTION
COMMIT TRANSACTION
COMMIT TRANSACTION
разрывать не позволяет.
я правда SQL -ем пользовался а не через ADOConnection1.BeginTrans; хотя это одно и то же.


 
Best Before 2024   (2002-09-12 15:40) [11]

ADO не виновато.
Меня удивляет, что в VB все работало. У VB поддержка ADO 2.6, а вот Delphi что делает - непонятно


 
sniknik ©   (2002-09-12 15:56) [12]

Работало подключение к MSSQL? или всетаки к чему другому?
А может потому работало что подключение было ADO -> ODBC -> MSSQL, так сделай также и у тебя в дельфях будет работать.


 
Best Before 2024   (2002-09-12 15:58) [13]

Нет!
ADO->OLE DB Provider for MSSQL.
и работало. я там NestedLevel анализировал!
До самой смерти буду повторять это!!!!


 
sniknik ©   (2002-09-12 16:04) [14]

ну с той поры вся идеология могла поменятся.
вот попробуй
Provider=MSDASQL.1;Persist Security Info=False;Extended Properties="DRIVER={SQL Server};SERVER=NIKS;UID=sa;DATABASE=tempdb"
строка с которой у тебя должно сработать, только базы и сервер свой подставь.


 
sniknik ©   (2002-09-12 16:06) [15]

повторять не надо. привыкай к тому что сейчас есть. :-))


 
Best Before 2024   (2002-09-12 16:17) [16]

Project Project1.exe raised exception class EOleException with message "Cannot start more transactions on this session".


 
sniknik ©   (2002-09-12 16:30) [17]

с этой строкой? странно у меня работает, так.
ADOCommand1.CammandText:= "BEGIN TRANSACTION";
ADOCommand1.Execute;
.....

ADOCommand1.CammandText:= "BEGIN TRANSACTION";
ADOCommand1.Execute;
...
ADOCommand1.CammandText:= "COMMIT TRANSACTION";
ADOCommand1.Execute;
...
ADOCommand1.CammandText:= "COMMIT TRANSACTION";
ADOCommand1.Execute;
только что попробовал для данной строки.

хм... проверил соеденение OLE DB тоже работает. ??? когда первый пост положил проверял не работало. только в Access. странно.



Страницы: 1 вся ветка

Текущий архив: 2002.10.03;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.017 c
14-8169
-Nikita-
2002-09-10 01:45
2002.10.03
Восьмерка или семерка?


1-7897
KIR
2002-09-23 14:08
2002.10.03
Как записать/считать из Clipboard a массив строк?


6-8095
BaNNeR
2002-08-03 11:25
2002.10.03
DELPHI irc-сервер и irc-клиент


1-8064
vadim2
2002-09-23 10:13
2002.10.03
Как изменить TInplaceEdit у TDBGrid?


4-8227
Игорь
2002-08-09 04:12
2002.10.03
Копиование перемещение файлов не получается :( pls help