我使用标准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并使用DATE
或DATETIME2
数据类型来解决问题 - 两者选项现在不可行(可能在6个月,12个月左右)。
我能做什么现在?而且很容易?我无法深入到Oracle这里修复它,这是不可原谅的(这是另一家不喜欢其他人在他们的系统中摆弄的第三方公司)。
答案 0 :(得分:1)
我不相信有一个解决方案 - 从我的理解,复制过程类似于使用日志阅读器进行事务复制,因此它是一个黑盒子 - 你不太可能将任何代码注入到进程中,如果可以的话,它将是比SQL更低级的代码。