powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Распределенная транзакция
7 сообщений из 7, страница 1 из 1
Распределенная транзакция
    #35708424
sergeych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго дня всем !
Появилась небходимость в использовании распределенных транзакций, так как одно приложение меняет данные на двух серверах. Но в какую сторону копать незнаю. Подскажите, пожалуйста , как можно реализовать это. Если можно с примером. Спасибо.
...
Рейтинг: 0 / 0
Распределенная транзакция
    #35709069
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А на чем ты застрял?
Клиент сам подключен одновременно к двум базам? В этом случае ты сам по отдельности делаешь транзакции и сам думаешь как их откатывать если коммит на одной базе прошел, а на другой упал.
Или одна база подключена к другой? Тогда клиент обновляет таблицы на мастер-базе (не различая реальные и прокси таблицы) и делает один-единственный коммит, а уж мастер сам будет думать как закоммитить обе базы.
В любом случае вопрос к VB отношения не имеет. Иди лучше в форум по своей БД и там спрашивай как она коммитит изменения в прокси таблицах.
...
Рейтинг: 0 / 0
Распределенная транзакция
    #35709163
sergeych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
База MySQL. Вычитал, что с 5 версии поддерживаются распределенные транзакции. Да, клиент подключен к двум базам. Это резидентская программа, которая имеет постоянный коннект к локальной базе и раз в пол часа подключается к удаленой. Новые записи с локальной базы отправляет на главный сервер, и наоборот, новые записи берет с сервера. Так вот самому откатывать , думаю, не совсем верно.
Код: plaintext
1.
2.
3.
4.
5.
cn.BeginTrans
cn2.BeginTrans
....Код...
cn.CommitTrans
cn2.CommitTrans
Если произошол разрыв связи, отключили свет (не советуйте UPS :)) и т.д. между двумя комитами, то откатить одну откомиченную транзакцию не удастся. Или не верно я думаю ?
...
Рейтинг: 0 / 0
Распределенная транзакция
    #35709494
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergeychБаза MySQL. Вычитал, что с 5 версии поддерживаются распределенные транзакции. Да, клиент подключен к двум базам. Это резидентская программа, которая имеет постоянный коннект к локальной базе и раз в пол часа подключается к удаленой. Новые записи с локальной базы отправляет на главный сервер, и наоборот, новые записи берет с сервера.Ага. Инструкция по решению этой задачи: Про распределенные репликации забыть. Про коннект к двум базам забыть. Заняться изучением репликации.

sergeych Так вот самому откатывать , думаю, не совсем верно.
Код: plaintext
1.
2.
3.
4.
5.
cn.BeginTrans
cn2.BeginTrans
....Код...
cn.CommitTrans
cn2.CommitTrans
Если произошол разрыв связи, отключили свет (не советуйте UPS :)) и т.д. между двумя комитами, то откатить одну откомиченную транзакцию не удастся. Или не верно я думаю ?Верно думаешь. По этой причине одновременное обновление двух баз никто всерьез не делает. Ну если только побаловаться или пощекотать себе нервы.
Намного проще и надежнее писать данные только в одну базу. Потом в отдельной задаче делать репликацию: читать обновления из первой базы, записывать их во вторую, и наоборот. В один момент времени происходит транзакция только в одной базе - принцип атомарности обновлений не нарушается - все счастливы.

В общем, ходи в MySQL форум и спрашивай как делается репликация данных между двумя базами.
...
Рейтинг: 0 / 0
Распределенная транзакция
    #35710321
sergeych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ответы. Но репликация , кажется не подойдет. Первое, мне не нужно делать копию базы главного сервера. Все базы, на разных серверах, хоть и имеют одинаковую структуру, но различные данные. И второе ,( может я совсем не так понимаю репликацию ) для нас совсем недопустимо писать новые строки непосредственно на главный сервер, чтобы потом эти данные расходились на слейф сервера. Это не онлайн приложение.
Вы работали с Microsoft Transaction Server ?
...
Рейтинг: 0 / 0
Распределенная транзакция
    #35710360
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: sergeych
> Спасибо за ответы. Но репликация , кажется не подойдет. Первое, мне не нужно делать копию базы главного сервера.
> Все базы, на разных серверах, хоть и имеют одинаковую структуру, но различные данные. И второе ,( может я совсем не
> так понимаю репликацию ) для нас совсем недопустимо писать новые строки непосредственно на главный сервер, чтобы потом
> эти данные расходились на слейф сервера. Это не онлайн приложение.

Вообще-то репликация, это механизм переноса нужных данных из одной БД в другую. И первое и второе решается
использованием подходящего для твоих целей инструмента(возможно и самописного) и грамотной настройкой механизма
репликации

--
С уважением Горбонос Игорь Леонидович

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Распределенная транзакция
    #35710403
sergeych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, займусь глубоким изучением репликаций.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Распределенная транзакция
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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