【问题标题】:Oracle-to-SQL Server replication: manipulate data during replicationOracle 到 SQL Server 复制:在复制期间操作数据
【发布时间】:2011-01-24 09:12:12
【问题描述】:

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

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

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

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

【问题讨论】:

  • 我不相信有解决方案 - 据我了解,复制过程类似于使用日志阅读器进行事务复制,因此它并不是真正在“SQL”上下文中运行 -它较低,因此无法使用 T-SQL 解决方案。

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


【解决方案1】:

我不认为有解决方案 - 据我了解,复制过程类似于使用日志阅读器进行事务复制,因此它是一个黑匣子 - 您不太可能将任何代码注入该过程,如果可以的话,它会是比 SQL 更低级别的代码。

【讨论】:

    猜你喜欢
    • 2017-11-18
    • 2021-03-15
    • 2017-01-01
    • 1970-01-01
    • 2012-06-12
    • 2011-06-28
    • 1970-01-01
    • 2019-01-08
    • 1970-01-01
    相关资源
    最近更新 更多