Я пытаюсь настроить синхронизацию для синхронизации моей консолидированной базы данных Oracle с удаленной базой данных SQL Anywhere. У меня есть пара представлений о консолидированной базе данных Oracle, которую я хочу вытащить в базу данных Sql Anywhere в виде таблиц. Я хочу вытащить их, когда они касаются 4-5 таблиц (должны любить хорошую нормализацию) и иметь только 7-8 столбцов, для которых мне нужен доступ для чтения (т. Е. Я никогда не буду пытаться их обновлять. Мне просто нужно извлечь из консолидированного к удаленному db). Как мне это сделать?Sybase sql где-нибудь синхронизировать представление базы данных (тянуть от консолидированного к удаленному)?
ответ
Возможно, MobiLink поддерживает синхронизацию с представлениями, но это не поддерживается в моделях синхронизации, поскольку представления не имеют первичных ключей (какие модели синхронизации нужны, как указано на первой странице мастера), и загрузка в представления требует обновляемого представления или «вместо» триггеров.
Обходным путем является временное определение таблицы с той же схемой, что и представление, а также соответствующие определения первичного ключа. Было бы проще использовать одно и то же имя для таблицы, но для этого вам нужно будет использовать другую базу данных. Выберите эту базу данных/таблицу при загрузке консолидированной схемы и определите, что только сопоставление таблиц.
Тогда вы должны иметь возможность развернуть эту модель с базой данных Oracle с представлением. Если вам нужно было использовать другое имя для таблицы, чем для представления, вам следует развернуть файл и глобально заменить имя таблицы именем представления в сгенерированном SQL-файле.
Вы случайно не знаете каких-либо примеров. Чтобы облегчить все, что я создал фиктивные таблицы в БД, которые имитируют представления, а затем в сценарии загрузки я выхожу из представления вместо таблицы, но я все еще ищу другие примеры/идеи. –
Да, есть пример, показывающий, как синхронизировать представления, которые можно загрузить из области iAnywhere - Mobilink сайта Sybase CodeXchange. Он называется «SQL Anywhere 10 - Синхронизация с использованием Views», но методы будут такими же, как и в версии 11. –
Не могли бы вы отредактировать ответ, чтобы добавить ссылку в статью CodeXchange, о которой вы говорите. –