Главная страница
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.012 c
3-7859
pwlusa
2002-09-02 09:40
2002.10.03
Поговорим о запросах


1-8024
kex86
2002-09-20 01:47
2002.10.03
Почему на 9910-ый проход циклом по этому коду система начинает


4-8231
Вадим
2002-08-18 21:34
2002.10.03
Always on top


6-8108
DikobraZ
2002-08-01 16:07
2002.10.03
Параметры удаленного компа


1-7969
Костя Кубарев
2002-09-24 02:06
2002.10.03
Уважаемые! Как вытащить те ссылки, что внутри IExplorera?