Главная страница
    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.034 c
1-1089241127
Жека
2004-07-08 02:58
2004.07.25
способы идентификации форматов файлов


3-1088612901
3APA3A
2004-06-30 20:28
2004.07.25
Зачем нужены курсоры?


14-1089201240
Просто Вася
2004-07-07 15:54
2004.07.25
Работа по специальности


1-1089530502
Islander
2004-07-11 11:21
2004.07.25
Как получить текущую модальную форму?


1-1089787557
Aleksandr.
2004-07-14 10:45
2004.07.25
Как искать в системе процесс, о котором известно только exename?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский