SSIS数据流,忽略SQL语句中的where子句

时间:2019-02-01 14:47:49

标签: oracle ssis

使用Visual Studio 2017和SSIS。

从Oracle到SQL Server的基本数据流。

Oracle是源(OLEDB),SQL Server是目标(也是OLEDB)。

我正在使用的SQL命令

SELECT * FROM CASE_NOTE WHERE
CREATE_DT <= '31-DEC-2010 00.00.00'

但是,数据流忽略了WHERE并迁移了所有行。

此外,数据流将显示150万行,其中有750,000行已提交(源中只有750,000行)。

这是一种奇怪的行为,我无法找出问题所在。

我尝试过从OLEDB转到ADO.NET,结果相同。

我删除了where子句,但数据流中的2x行仍然存在

1 个答案:

答案 0 :(得分:1)

是否存在字符串解析问题?

您可以这样尝试吗:

SELECT * FROM CASE_NOTE WHERE CREATE_DT <= '2010-DEC-31'

使用 OLEDB Oracle 源提供程序的另一件引人注目的事情。

当您全新安装SSIS时,也许这是显而易见的默认选项,但是,Microsoft提供了另一个性能更高且更可取的选择:

Microsoft Connectors for Oracle and Teradata by Attunity for Integration Services (SSIS)

也许这种选择可以使您更好地使用SSIS