SQL Server最好的方法是将表数据附加到Oracle数据库表中

时间:2016-01-27 14:11:57

标签: sql-server oracle

我有一张生物测量设备表,一旦员工用手指并使用SQL Server 2014标准版,就会捕获数据。

但是,我们的旧设备正在导出日志文件,我们使用vb引擎推送到我们的Oracle表并用于生成出勤详细信息。

我设法从SQL Server导出数据并构建了第一组记录。我想安排一个带有SQL Server的JOB,条件是Oracle表只应该接收那些尚未从SQL Server表中插入的行。

我检查了追加可能性,它在执行作业时转储整个SQL Server表数据,从而复制Oracle目标表中的行,迫使我放弃该作业并构建一个删除Oracle表的新行在作业执行时重新创建。我觉得这是一种矫枉过正的行为......

任何已知的可用方法只能附加Oracle目标表中不存在的行?不幸的是,SQL Server表没有任何唯一的id列用于事务。

请建议

提前致谢

2 个答案:

答案 0 :(得分:1)

我认为最好的方法是将sal服务器复制与Oracle数据库一起用作订阅者。 您可以在MSDN网站上阅读有关此解决方案的信息: Oracle Subscribers

此致 Giova

答案 1 :(得分:0)

由于您正在谈论电子时间卡之类的出勤数据,因此您只需发送打卡时间为>的数据即可。最后一次同步邮票同步。您需要将该值保留在某个位置,并且它不会考虑复活的主动输入记录。如果除了打卡时间之外还有记录创建日期,您可以使用创建日期。此外,如果记录中有修改日期,您可以使用合并语句作为Alex Pool建议,这样您就可以同时获得同步到oracle的新记录和修改。