【发布时间】:2020-02-22 15:00:53
【问题描述】:
希望每个人都做得很好。我是 ssis 的新手,我被严重卡住了。
我有一个 ssis 包,它有一个 Oracle oledb 源和 sql server oledb 目标。 oracle oledb 源有一个参数化的 sql 查询。
我有一个字符串变量 @resultset,其中包含一个逗号分隔的 id 列表,我从执行 sql 任务对象变量中解析了该列表。 @resultset 的值是这样的 111,2222,333,444
我需要将此字符串变量提供给参数化源查询中的 in 子句。
我正在使用来自 oledb 源中变量的 sql 命令。我已将查询作为表达式存储在一个名为 @setquery.
的变量中查询是这样的:
"从 oracledb.table 中选择 col1, col2, ...coln where colid in (" + @resultset + ")"
但是当我尝试查看列时出现错误。“无法从数据源检索列信息”
我读到我可以使用动态 sql 并尝试过,但我无法正确使用。
我正在使用 sql server 2017 和 Visual Studios for ssdt 2017。
你能帮忙吗!
谢谢!
【问题讨论】: