Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.025 c
4-1086796374
DelphiN!
2004-06-09 19:52
2004.07.25
Как поменять запятую(разделитель) на точку в "Языках и стандартах


14-1088972995
Khabibulin
2004-07-05 00:29
2004.07.25
BIOS


1-1089726188
nastya
2004-07-13 17:43
2004.07.25
печать списков


14-1088759001
Piter
2004-07-02 13:03
2004.07.25
Ура. Я свободен! Словно птица в небесах... :)


3-1088862357
GanibalLector
2004-07-03 17:45
2004.07.25
ГЕНЕРАТОР





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский