публикация (тиражирование) Oracle в Sql2008r2 - PullRequest
0 голосов
/ 06 октября 2011

Попытка установить репликацию транзакций с сервера Oracle на экземпляр Sql2008 R2. Я могу настроить «публикацию Oracle» с помощью Replication, мастера публикации Oracle, все кажется подходящим для добавления статей (таблица оракулов) и возможности сопоставления типов данных. но когда я выбираю репликацию транзакций, она говорит мне, что у выбранной исходной таблицы оракула нет первичного ключа. Что не соответствует действительности.

Если выбрать снимок, он идет по бесконечному циклу.

Я заметил, что связанный сервер (к oracle) использует провайдер msdaOra. Есть ли способ заставить мастера публикаций использовать провайдер OraOLEDB.Oracle при настройке связанного связанного сервера.

любая помощь приветствуется

Ответы [ 2 ]

3 голосов
/ 07 ноября 2012

Я обнаружил, что ограничения Oracle PK не достаточны для того, чтобы SQL Server считал, что таблица имеет PK.Убедитесь, что Oracle DDL для таблицы выполняет явное создание уникального индекса в соответствии с этим PK.Если все, что у вас есть, это ограничение и организационный индекс в Oracle, SQL Server будет дисквалифицировать его из репликации на уровне транзакций.Я все еще пытаюсь найти способ обойти это, поскольку я не хочу добавлять уникальный индекс в оперативную систему сбора данных в реальном времени.Я не знаю, что SQL-серверу даже действительно НУЖЕН уникальный индекс ... но я думаю, что ему просто нужно знать квалификаторы уникальности, которые он МОЖЕТ получить только из определения ограничения.

0 голосов
/ 12 октября 2011

Какая версия Oracle? Вот ссылка для некоторых инструкций Microsoft. Убедитесь, что на SQL Server установлена ​​версия программного обеспечения Oracle Client для x64 - для установки клиента Oracle необходимо указать параметр настройки администратора . Имеет ли пользователь репликации, который вы настроили для подключения к oracle, выборочный доступ к схеме, которую вы пытаетесь реплицировать? (тупой вопрос, но я должен спросить) Кроме того, вы настроили репликацию транзакций для этой системы перед тестированием?
Вы проверяли это на исходной таблице, у которой не было первичного ключа? - (тестирование этой коробки sql 2k8 r2 в другой среде тестирования оракула) если это так, вам может понадобиться повторно инициализировать дистрибутив.

вам также потребуется версия sql 2k8 r2 Enterprise Edition для настройки репликации от издателя оракула. ​​

...