【问题标题】:publishing(replicating) Oracle to Sql2008r2发布(复制)Oracle 到 Sql2008r2
【发布时间】:2011-10-06 07:45:20
【问题描述】:
试图建立从 oracle 服务器到 Sql2008 R2 实例的事务复制。
我可以通过复制设置“Oracle 发布”,新的 Oracle 发布向导;添加文章(oracle 表)并能够映射数据类型似乎一切正常。
但是当我选择事务复制时,它告诉我我选择的 oracle 源表没有主键。这不是真的。
如果选择一个快照,它会无限循环。
我注意到链接服务器(到 oracle)正在使用 msdaOra 提供程序,有没有办法强制发布向导在设置关联链接服务器时使用 OraOLEDB.Oracle 提供程序。
任何帮助表示赞赏
【问题讨论】:
标签:
oracle
sql-server-2008
replication
【解决方案1】:
我发现Oracle PK 约束不足以让SQL Server 认为表有PK。确保表的 Oracle DDL 执行显式创建唯一索引以配合该 PK。如果您只有 Oracle 中的约束和组织索引,SQL Server 将取消它从事务级复制的资格。我仍在尝试解决此问题,因为我不想将唯一索引添加到实时的实时数据采集系统 n 生产中。我不知道 SQL Server 甚至真的需要唯一索引......但我认为它只需要知道它可以仅从约束定义中获得的唯一性限定符。
【解决方案2】:
什么版本的甲骨文?
这是一个link 的一些微软说明。
确保您在 SQL Server 上安装了 x64 版本的 Oracle 客户端软件 - Oracle 客户端安装需要是管理员设置选项。
您设置为连接到 oracle 的复制用户是否对您尝试复制的模式具有选择访问权限? (愚蠢的问题,但我必须问)
另外,您是否在测试之前为此系统设置了事务复制?
您是否针对没有主键的源表对其进行了测试?
- (针对另一个 oracle 测试环境测试这个 sql 2k8 r2 盒子)
如果是这样,您可能需要重新初始化分发。
您还需要 sql 2k8 r2 企业版来设置来自 oracle 发布者的复制。