Oracle-to-SQL Server复制:在复制期间处理数据

时间:2011-01-24 09:12:13

标签: sql-server-2005 oracle10g database-replication transactional-replication

我使用标准SQL Server快照和事务复制“继承”了一个有效的Oracle(10g)到SQL Server 2005数据复制。

一切正常 - 只要Oracle不尝试发送超出SQL Server DATETIME范围(1753/1/1到9999/12/31)的日期。我希望能够以某种方式进入数据复制的中间,检查该日期范围,并在必要时,将发布的Oracle日期调整为SQL Server 2005的DATETIME数据类型可以处理的内容。 / p>

有没有相当简单的方法来做到这一点?我知道我可以将目标数据类型更改为VARCHAR(19)或类似的东西 - 我知道我可以升级到SQL Server 2008并使用DATEDATETIME2数据类型来解决问题 - 两者选项现在不可行(可能在6个月,12个月左右)。

我能做什么现在?而且很容易?我无法深入到Oracle这里修复它,这是不可原谅的(这是另一家不喜欢其他人在他们的系统中摆弄的第三方公司)。

1 个答案:

答案 0 :(得分:1)

我不相信有一个解决方案 - 从我的理解,复制过程类似于使用日志阅读器进行事务复制,因此它是一个黑盒子 - 你不太可能将任何代码注入到进程中,如果可以的话,它将是比SQL更低级的代码。