Страница 1 из 1

Репликация массивов

Добавлено: 13 июл 2006, 14:15
alex_sm
Я использую IBReplicator 2.1.8 (EVAL license) и Firebird 1.5.3 под Windows XP SP2. При попытке прореплицировать изменения следующей таблицы:

Код: Выделить всё

CREATE TABLE LUACCOM (
    LUID                  INTEGER NOT NULL,
    SUPPID                INTEGER,
    BROKERID              INTEGER,
    ARRDATE               DATE,
    ENDDATE               DATE,
    BUILDID               INTEGER,
    BUILDINGNAME          CHAR(35),
    RESORT                INTEGER,
    RESORTNAME            CHAR(35),
    RATING                CHAR(5),
    ROOMTYPECODE          CHAR(10),
    BOARDTYPECODE         CHAR(10),
    CONTRACTTYPE          CHAR(10),
    UPDATED               DATE,
    MAXOCC                CHAR(100),
    MINOCC                CHAR(100),
    REQUESTIFFULL         CHAR(1),
    FIXMARGINS            CHAR(1),
    CONTRACTORID          INTEGER,
    CODING                CHAR(36) [1:750,1:30],
    NOROOMS               INTEGER,
    ANYINCTRANS           CHAR(1),
    PRICES                DOUBLE PRECISION [1:750,1:210],
    BROCHUREPRICING       CHAR(1),
    BOARDTYPESET          CHAR(20),
    REQUESTINSIDERELEASE  CHAR(1)
);

ALTER TABLE LUACCOM ADD PRIMARY KEY (LUID);
возникает ошибка "ErrorNo: 32 - subscript out of bounds"

Если удалить поля CODING и PRICES из схемы репликации, то репликация проходит без проблем, но эти поля обязательно должны передаваться.
Также данные реплицируются, если указанные поля содержат NULL.

Может быть надо сделать какие-нить хитрые настройки FB или IBReplicator для нормальной передачи этих массивов?

Добавлено: 13 июл 2006, 14:28
kdv
Может быть надо сделать какие-нить хитрые настройки FB или IBReplicator для нормальной передачи этих массивов?
а может, репликатор просто не умеет реплицировать массивы?
ответить на этот вопрос могут только разработчики репликатора.

Добавлено: 13 июл 2006, 14:55
Dimitry Sibiryakov
Репликатор умеет реплицировать массивы. Но поскольку фича эта крайне малопользуемая то она же и крайне малотестированная. Так что баги вполне вероятны. Сообщать о них надо по-английски в ibp_replicator(at)lists.ibphoenix.com. Ну или можно здесь пожаловаться если ДК не против.

Добавлено: 13 июл 2006, 15:47
alex_sm
в документации заявлено, что массивы поддерживаются, но эта поддержка, видимо, недостаточно протестирована

Добавлено: 13 июл 2006, 16:03
Dimitry Sibiryakov
Угу. Для тестирования используется максимум employee.fdb, а там единственный массив да и тот одномерный...

Добавлено: 13 июл 2006, 16:11
alex_sm
Dimitry Sibiryakov писал(а):Угу. Для тестирования используется максимум employee.fdb, а там единственный массив да и тот одномерный...
А мне "достались в наследство" двумерные :) И никаких исходников, чтобы от них отказаться и переписать.

Добавлено: 13 июл 2006, 16:13
Dimitry Sibiryakov
Значит ты ценный для авторов человек. :wink:

Добавлено: 13 июл 2006, 16:38
alex_sm
Dimitry Sibiryakov писал(а):Значит ты ценный для авторов человек. :wink:
Ага, главный тестер двумерных массивов :)

Добавлено: 14 июл 2006, 09:21
Dimitry Sibiryakov
Как главный тестер, заодно проверь работает ли синхронизация этих твоих массивов.

Добавлено: 14 июл 2006, 13:12
alex_sm
Проверил версию 2.1.9, массивы в ней реплицируются.

Добавлено: 14 июл 2006, 16:11
Dimitry Sibiryakov
Хорошо. А синхронизация? (В Менеджере правой лаптей на таблицу и Synchronize.)

Добавлено: 14 июл 2006, 16:17
alex_sm
Dimitry Sibiryakov писал(а):Хорошо. А синхронизация? (В Менеджере правой лаптей на таблицу и Synchronize.)
Пока еще не проверял, чуть позже гляну. В этой таблице данных почти на пять гигов, надо будет сначала урезанную копию сделать.

Добавлено: 14 июл 2006, 16:37
alex_sm
Dimitry Sibiryakov писал(а):Хорошо. А синхронизация? (В Менеджере правой лаптей на таблицу и Synchronize.)
Проверил - синхронизация работает.