2016-08-05 60 views
0

我正在为增量加载创建一个包。Oracle中为SSIS包准备的语句

源= Oracle DB

目标= MS SQL

同时拉动我使用下面的查询从Oracle DB的数据,但它抛出一个错误。

select * from pcarscall1 WHERE [CALLKEY] > ? OR [ModDate] >= ? 

我知道这个代码适用于SQL,我要的是对Oracle

等效查询
+0

你能提供一些更多的信息。什么是错误信息?你能直接针对Oracle运行查询吗?你在SSIS执行查询任务中运行这个查询吗? “CALLKEY”和“ModDate”的数据类型是什么?参数数据类型是否匹配? –

+0

CALLKEY = varchar2(255 BYTES),MODDATE = date ---- 不,我在SSIS源代码编辑器中运行此查询。 错误:ORA-00936:缺少表达式 是参数数据类型匹配。我能够加载,如果我指定确切的日期,但我想使用准备好的语句 –

回答

2

如果我没记错的话,周围的列名方括号是一个MS SQL特定扩展名(只需要关键字列名称或带有空格的名称)并且不被Oracle识别。试一试不用方括号:

select * from pcarscall1 WHERE CALLKEY > ? OR ModDate >= ? 
+0

获取错误ORA-00904:“?” :无效标识 –

+0

不知道发生了什么,它开始再次工作。 谢谢 –