Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как в рамках одной транзакции ADO выолнить 2 процедуры SQL на разных серверах? / 9 сообщений из 9, страница 1 из 1
13.06.2007, 01:08
    #34590430
egghead
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в рамках одной транзакции ADO выолнить 2 процедуры SQL на разных серверах?
Привет всем!

Скажите как такую задачу решить:
есть 2 процедуры скл на 2 разных серверах.
мне нужно выполнить в рамках транзакции ADO выполнить эти 2 процедуры.
Как бы это сделать? Запутался я в передаче объектов туда сюда:)
...
Рейтинг: 0 / 0
13.06.2007, 12:04
    #34591227
Sergey S
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в рамках одной транзакции ADO выолнить 2 процедуры SQL на разных серверах?
А низзя выполнить просто процедуру, которая выполнет две других на тех - других серверах?
...
Рейтинг: 0 / 0
13.06.2007, 12:18
    #34591277
egghead
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в рамках одной транзакции ADO выолнить 2 процедуры SQL на разных серверах?
Нельзя т.к. одна процедура выполянется на странице aspx а вторая вызывается из web-service
т.е. например сначала идет Платеж в первой базе, а потом если успешно то уже во вторую базу добавляется Доставка. Но каждая из баз друг о друге ничего не знают. есть только строки подключений
...
Рейтинг: 0 / 0
13.06.2007, 12:39
    #34591362
Sergey S
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в рамках одной транзакции ADO выолнить 2 процедуры SQL на разных серверах?
я бы тригер повесил на первую
...
Рейтинг: 0 / 0
13.06.2007, 13:03
    #34591466
Сахават Юсифов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в рамках одной транзакции ADO выолнить 2 процедуры SQL на разных серверах?
eggheadНельзя т.к. одна процедура выполянется на странице aspx а вторая вызывается из web-service
т.е. например сначала идет Платеж в первой базе, а потом если успешно то уже во вторую базу добавляется Доставка. Но каждая из баз друг о друге ничего не знают. есть только строки подключений

Посмотрите System.Transaction.
...
Рейтинг: 0 / 0
13.06.2007, 15:20
    #34592081
egghead
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в рамках одной транзакции ADO выолнить 2 процедуры SQL на разных серверах?
А я запутался как переключаться между объектами коннекшн и комманд и как между ними объект транзакшн передавать
...
Рейтинг: 0 / 0
13.06.2007, 18:43
    #34592931
Сахават Юсифов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в рамках одной транзакции ADO выолнить 2 процедуры SQL на разных серверах?
eggheadА я запутался как переключаться между объектами коннекшн и комманд и как между ними объект транзакшн передавать
Вот типа этого.


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
            System.Transactions.TransactionOptions op = new System.Transactions.TransactionOptions();
            op.IsolationLevel = System.Transactions.IsolationLevel.Serializable;
            op.Timeout = TimeSpan.Parse("00:01:00");
            System.Transactions.CommittableTransaction ctx = new System.Transactions.CommittableTransaction(op);

            this.наличиеTA.Connection.Open();
            this.наличиеTA.Connection.EnlistTransaction(ctx);

            this.продажиTA.Connection.Open();
            this.продажиTA.Connection.EnlistTransaction(ctx);

            try
            {
                this.наличиеTA.Update(this.DS1.Наличие);
                this.продажиTA.Update(this.DS1.Продажи);

                ctx.Commit();

                this.DS1.Продажи.Clear();
            }

            catch (Exception ex)
            {
                ctx.Rollback();

                this.DS1.Наличие.RejectChanges();
                this.DS1.Продажи.RejectChanges();

                MessageBox.Show(ex.Message);
            }

            finally
            {
                this.наличиеTA.Connection.Close();
                this.продажиTA.Connection.Close();

                ctx.Dispose();
            }
...
Рейтинг: 0 / 0
13.06.2007, 22:10
    #34593219
egghead
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в рамках одной транзакции ADO выолнить 2 процедуры SQL на разных серверах?
Благодарю! но у меня вот еще она проблем появилась. У меня .Net 2005 и Framework2.0 (правда есть и 1.1 (может здесь корень проблемы)) А вот using System.Transactions; - ну просто напрочб ругается. Правда прочитал что нужно файл подключить длл куда-то или не надо:)
Если надо - куда помогите плиз?
...
Рейтинг: 0 / 0
13.06.2007, 22:23
    #34593235
egghead
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в рамках одной транзакции ADO выолнить 2 процедуры SQL на разных серверах?
Ааа всё нашел. нуна было чрз AddReference. Правда всё равно не понял почему некоторые могу через using просто подключить, а эту сразу нет
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как в рамках одной транзакции ADO выолнить 2 процедуры SQL на разных серверах? / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]