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

Вниз

Транзакции   Найти похожие ветки 

 
Ross   (2004-06-30 12:36) [0]

Насколько я понял, существует 2 вида транзакций. Одни выполняются на стороне сервера, другие на стороне клиента. Вопрос: AdoConnection.BeginTrans открывает транзакцию на стороне клиента?


 
Nikolay M. ©   (2004-06-30 12:58) [1]

Нет, все не так. Откуда пришла такая инфа?


 
Ross   (2004-06-30 13:17) [2]

Нет литературы, это мое суждение. А как можно при помощи AdoConnection "указать", на какой стороне должна выполниться транзакция. И как можно узнать на какой стороне она выполнилась?


 
Vlad ©   (2004-06-30 13:21) [3]


> Ross   (30.06.04 13:17) [2]

Что такое "транзакция на стороне клиента" ?
Может ты путаешь с курсором ?


 
Ross   (2004-06-30 13:34) [4]

К сожалению, не помню источник, но я слышал именно о транзакциях на стороне сервера и на стороне клиента. К примеру, в программе, при нажатии на кнопку выполняется код:
Try
  AdoConnection.BeginTrans;
  ....//выполнение операций с данными
  AdoConnection.CommitTrans;
Except
  AdoConnection.RollbackTrans;
End;
Если во время выполнения выключается компьютер клиента, то что происходит в этом случае?


 
Nikolay M. ©   (2004-06-30 13:36) [5]


> я слышал именно о транзакциях на стороне сервера и на стороне
> клиента

Слышал звон...
Скорее, о ЗАПУСКЕ транзакций на клиенте и сервере.


> Если во время выполнения выключается компьютер клиента,
> то что происходит в этом случае?

http://www.sql.ru/forum/actualthread.aspx?bid=1&tid=103478


 
Vlad ©   (2004-06-30 13:39) [6]


> Ross   (30.06.04 13:34) [4]

Сама транзакция работает на сервере. Открыта она может быть и на клиенте и на сервере.

> Если во время выполнения выключается компьютер клиента,
> то что происходит в этом случае?

Автоматически закрывается коннект к базе, соотв. закрывается и транзакция


 
Vlad ©   (2004-06-30 13:40) [7]


> Открыта она может быть и на клиенте и на сервере.

В том смысле что клиент только дает сигнал на открытие транзакции серверу.


 
bushmen ©   (2004-06-30 13:55) [8]

> Если во время выполнения выключается компьютер клиента,
> то что происходит в этом случае?

Причем не просто закрывается, а откатывается.


 
Ross   (2004-06-30 13:57) [9]

to Nikolay M. ©   (30.06.04 13:36) [5]:
к сожалению, у меня ссылка не заработала

>Автоматически закрывается коннект к базе, соотв. закрывается и транзакция
И происходит откат ее?


 
Vlad ©   (2004-06-30 13:58) [10]


> Ross   (30.06.04 13:57) [9]

Да, см. bushmen ©   (30.06.04 13:55) [8]


 
Ross   (2004-06-30 14:00) [11]

Ross   (30.06.04 13:57) [9]

Извините, не обновил вовремя: bushmen © (30.06.04 13:55) [8]


 
Ross   (2004-06-30 14:06) [12]

А как лучше: через AdoConnection, или создать хранимую процедуру на сервере. Почему спрашиваю: сначала хотел через процедуру на сервере, но никак не мог вывести результат в переменную (1-выполнена, 0-откат), и в зависимости от этого вывести  на клиенте сообщение об успешном или нет завершении. Потом мне посоветовали использовать AdoConnection.BeginTrans....


 
bushmen ©   (2004-06-30 14:18) [13]

>но никак не мог вывести результат в переменную (1-выполнена, 0->откат)

А какие проблемы?

create procedure test(@res int out) as
begin
set @res=1
begin tran t1
insert into ....
if @@error<>0 goto ErrTran
insert into ...
if @@error<>0 goto ErrTran
commit tran t1
return

ErrTran:
 rollback tran t1
 set @res=0
 return
end


 
Курдль ©   (2004-06-30 15:33) [14]


> bushmen ©   (30.06.04 14:18) [13]
> >но никак не мог вывести результат в переменную (1-выполнена,
> 0->откат)
>
> А какие проблемы?

Проблемы в методологии. Многие СУБД не дадут подтвердить транзакцию из процедуры. Да и кому это надо?



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

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

Наверх




Память: 0.5 MB
Время: 0.023 c
1-1089435746
Глеб
2004-07-10 09:02
2004.07.25
Программное добавление в TMainMenu элементов


14-1089199366
Nein
2004-07-07 15:22
2004.07.25
как догнать двух зайцев?


3-1088569335
HeathRow
2004-06-30 08:22
2004.07.25
Программное выделение строки в DBGrid


14-1089116491
Акуля
2004-07-06 16:21
2004.07.25
какую книжку лучше почитать


1-1089281407
P@vel
2004-07-08 14:10
2004.07.25
Thread