我正在尝试使用 Microsoft OLE DB 提供程序从 SQL Server 将表加载到 Oracle 表中(使用 OLE DB 的 Oracle 提供程序)。该包是一个直接的 OLE DB 源 (SQL Server) -> OLE DB 目标 (Oracle)。
我正在使用 SQL Server 2008 R2 和 Oracle 11g。
每次运行包时,我都会在目标表中获得不同数量的行,并且 BIDS 报告读取的行数少于源表中的行数。每次运行时返回的行数都不同。我没有收到任何错误或踢出消息,但即使在 BIDS 显示“包已成功完成”之后,源和目标的框仍然是黄色的。
将源表转储到平面文件而不是 Oracle 目标文件中工作正常,并且我得到了我期望的所有行。我也可以使用这个平面文件将信息提取到 Oracle 目标表中而不会出现问题。
即使我有一个变通方法,我想了解为什么会发生这种情况,以及我可以做些什么来解决这个问题而不必使用平面文件。
编辑:看起来即使使用平面文件到 Oracle 也不会带来所有的行。第一次只是运气?
编辑/更新:从集成服务(不是 BIDS)运行包似乎已经消除了问题(测试了 3 次)。仍然不明白为什么会这样。