将Oracle复制(复制)到Sql2008r2

时间:2011-10-06 07:45:20

标签: oracle sql-server-2008 replication

尝试从oracle服务器到Sql2008 R2实例建立事务复制。 我能够通过Replication,New Oracle发布向导设置'Oracle publication';每一件事似乎都可以添加文章(oracle表)并能够映射数据类型。 但是当我选择事务复制时,它告诉我我选择的oracle源表没有主键。这不是真的。

如果选择快照,它会进行无限循环。

我注意到链接服务器(到oracle)正在使用msdaOra提供程序,是否有办法强制发布向导在设置关联链接服务器时使用OraOLEDB.Oracle提供程序。

任何帮助表示赞赏

2 个答案:

答案 0 :(得分:3)

我发现Oracle PK约束不足以让SQL Server认为该表有PK。确保表的Oracle DDL执行显式创建唯一索引以与该PK一起使用。如果您拥有的只是Oracle中的约束和组织索引,则SQL Server将取消它与事务级复制的资格。我仍然试图找到解决方法,因为我不想将独特的索引添加到实时的实时数据采集系统n生产中。我不知道SQL服务器甚至真的需要唯一索引......但我认为只需要知道它可以从约束定义中获得的唯一性限定符。

答案 1 :(得分:0)

什么版本的Oracle? 对于某些微软指令,这里是link。 确保在SQL Server上安装了x64版本的Oracle客户端软件 - oracle客户端安装需要是管理员设置选项。 您设置为连接到oracle的复制用户是否具有对您尝试复制的架构的选择权限? (愚蠢的问题,但我不得不问) 另外,您是否在测试之前为此系统设置了事务复制? 您是否针对没有主键的源表进行了测试?   - (测试这个sql 2k8 r2框对另一个oracle测试环境) 如果是这样,您可能需要重新初始化分发。

您还需要sql 2k8 r2企业版来设置oracle发布者的复制。