当尝试使用Oracle OLE DB提供程序输入带有参数的SQL查询时,我收到以下错误:
无法从SQL命令中提取参数.提供程序可能无法帮助解析命令中的参数信息.在这种情况下,使用"来自变量的SQL命令"访问模式,其中整个SQL命令存储在变量中.
附加信息:
提供程序无法派生参数信息,并且尚未调用SetParameterInfo.(适用于Oracle的Microsoft OLE DB提供程序)
我已尝试按照此处的建议,但不太了解所需内容:针对Oracle的参数化查询
有任何想法吗?
要扩展问题中给出的链接:
创建一个包变量
双击包变量名称.(这允许您访问变量的属性)
将属性"EvaluateAsExpression"设置为true
在表达式构建器中输入查询.
从OLE中将OLE DB源查询设置为SQL命令
表达式构建器可以使用变量动态创建表达式以创建"参数化查询".
所以以下'正常'查询:
select * from book where book.BOOK_ID = ?
可以在表达式构建器中编写为:
"select * from book where book.BOOK_ID = " + @[User::BookID]
然后,您可以使用表达式构建器执行空值处理和数据转换.