![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Репликация между серверами FireBird 1.0.2 [D6, FireBird 1.0.2]
nik7777 © (2004-06-25 08:55:00)Приветствую всех Мастеров!!!
У меня стоит задача: надо, чтобы сервера InterBase 6.0 (FireBird 1.0.2) обменивались данными - репликация.
При том, что вся информация сливается в головной сервер, а все остальные (к примеру, по филиалам) черпают данные с головного.
Я уже задавал вопрос данного характера. Спасибо за помощь тем кто помог найти репиликатор и информацию.
Теперь стоит задача разобраться с этим самым репликатором - IBRplManager.exe (авторские права - InterBase Software Corporation). Вроде делаю все как по документации, которая входит в установочный пакет (вернее просто распаковываю архив и можно юзать). Но никак у меня не получается настроить "Create system objects" выходит следующая ошибка: "Dynamic SQL Error SQL error code = -204 Ambiguous field name between table PUBLISHEDDB and table RELATIONS REPLNO". Проделывал перенастройку с "нуля" несколько раз, вплоть до создания по новой настроечной БД (config.gdb) - не помогает. Не знаю больше что делать.
Большая просьба ко всем кто работал когда-либо с данным приложением или как-то сталкивался с ней, помогите пожалуйста разобраться. Кто чем сможет. Любой помощи буду рад!
Ввво как надо (проводя большим пальцем по передней окружности шеи)!!!
Заранее спасибо!!!
С уважением, Николай!
z_man@mosk.ru
vv_fran (2004-07-05 09:50:00) [1]nik7777
>Я это делаю через обычный текстовый файл
>>А если после загрузки данных из филиала в центр из этого текстовика, сформировать опять же текстовик уже с данными из центра и отправить в филиал, который в свою очередь тоже загрузит данные уже из нового текстовика? Если таким образом обойти проблему?
У меня так и сделано. Экспорт-импорт в оба конца
Deniz (2004-07-05 09:18:00) [2]> nik7777 (05.07.04 07:02) [6]
> Проблема не в репликации - с ней все замечательно. Проблема состоит в синхронизации
Если ты сам будешь писАть программу(называй как хочешь, репликация или синхронизация), которая нужные данные будет перекидывать из одной базы в другую в обе стороны, то никаких проблем не будет. А для переноса пользоваться можно и текстовым, и своим форматом, и XML, и DBF и т.д., все это на любителя!
nik7777 (2004-07-05 07:02:00) [3]Deniz
>Так ведь можно репликацию самому написать ...
Проблема не в репликации - с ней все замечательно. Проблема состоит в синхронизации (в два конца "от филиала в центр" и "из центра в филиал"). Чтобы свежие данные были по обе стороны.
vv_fran
>Я это делаю через обычный текстовый файл
А если после загрузки данных из филиала в центр из этого текстовика, сформировать опять же текстовик уже с данными из центра и отправить в филиал, который в свою очередь тоже загрузит данные уже из нового текстовика? Если таким образом обойти проблему?
vv_fran (2004-07-02 08:41:00) [4]Эти репликаторы во многих случаях не возможно использовать, в зависимости от данных. Приходится писать свой. Я это делаю через обычный текстовый файл. Он передается по Эл.почте. и на другом конце спец.утилитой загружается в сервер.
Deniz (2004-07-02 08:32:00) [5]Так ведь можно репликацию самому написать, это не так уж сложно, тем более можешь учесть специфику БД и что-нибудь еще сделать во время репликации.
kaif (2004-07-01 18:40:00) [6]Я подозреваю вот, что.
InterBase позволяет делать запрос вида:
SELECT ID, T1.A, T2.B
FROM TABLE1 T1, TABLE2
WHERE T1.ID = T2.ID
Firebird в этой ситуации ругается, так как T1.ID и T2.ID считает разными полями, хотя и имеющими одинаковое значение в данном запросе. Именно в этих ситуациях возникает ошибка, о которой тьы пишешь (ambiguous field name)
То есть Firebird-у нужно указать явно, из какой таблицы берется поле, если существуют одноименные поля в двыух таблицах, независимо от того, есть или нет объединение по этому полю в данном запросе.
SELECT T1.ID, T1.A, T2.B
FROM TABLE1 T1, TABLE2
WHERE T1.ID = T2.ID
Так что либо переходи на сервер IB6.5, либо нужно изменять текст запросов этого менеджера репликаций. Если текст запросов подправить невозможно, то с Firebird это может вобще не сработать. Там явно есть конструкция вроде:
SELECT REPLNO, ...
FROM PUBLISHEDDB P, RELATIONS R
WHERE P.REPLNO = R.REPLNO ...
Firebird хочет, чтобы было указано, из какой таблицы планировщику брать REPLNO. Хотя это и маразм (ИМХО).
nik7777 (2004-07-01 15:46:00) [7]Может быть есть какой-нибудь другой способ репликации и синхронизации между серверами FireBird 1.0. Если есть такая информация, неоткажите в помощи. Я уже неделю пытаюсь разобраться в синхронизации в IBReplication Manager и все без успешно. Подскажите, покажите, дайте ссылку, пожалуйста! Я понимаю, что когда сам находишь и разбираешься - это отлиная практика, но поверте мне, у меня нет никапельки времени - сроки "горят". поэтому адресу http://ibase.ru/develop.htmвсе что мог вытащил, но без успешно.
Прошу, пожалуйста, помогите мне!!!
nik7777 (2004-06-25 14:35:00) [8]Мастера,помогите пожалуйста!!!
Очень необходимо!
Сроки "горят"!!! :((