在SSIS中的变量中从Oracle获取数据到Sql

时间:2017-11-15 11:53:55

标签: sql oracle ssis

我在Oracle中有一个像这样的表

user_id |名称| Process_Date
1 | ABC | 11/14/2017 5:14:18 PM

我想在ssis中使用oracle源代码中的参数。现在我创建了1个字符串变量Check并将表达式传递为

SUBSTRING( (DT_STR,50, 1256)DATEADD("DAY",-1,GETDATE()) , 1, 10)

它给了我2017-11-14的价值

当在Ole DB Source中我将查询写为

select * from Test where trunc(process_date) = ?. It gives me an error.

然后我尝试使用变量并在变量中加载查询,如

" select * from Test
where trunc(process_date) ="+ @[User::Check]

我检查了变量属性'EvaluateasExpression'它是真的。

但它仍然给我一个错误“不一致的数据类型:预期日期得到数字

这里缺少的任何人都可以告诉我???

1 个答案:

答案 0 :(得分:0)

将日期字符串转换为日期可能会出现问题:Error it results is DATE GOT NUMBER

所以表达式需要像这样:

    "select * from Test
    where trunc(process_date) = to_date('"+ @[User::Check] + "','yyyy-mm-dd')"