0

我正在尝试将参数和变量映射到 SQL 任务中的 SQL 语句

我正在连接到一个 oracle 数据库 - 连接工作正常。

我的 SQL 语句是:插入?值(?,?)

我在映射屏幕中将包参数:Param1 映射到 (parametername) 0

映射屏幕中的 variable1 to (parametername) 1 和 variable2 to (parametername) 3

参数和变量都是数据类型 VARCHAR,值是:

p1 = 'TEST_TABLE
v1 = 'TEST'
v2 = 'TEST'

但是,我收到错误“参数未正确映射”

如果我输入这样的 sql 语句: insert into TEST_TABLE values('TEST','TEST') 记录将成功插入到 oracle 数据库中。

有任何想法吗?

4

2 回答 2

1

普遍接受的解决方案是动态构建插入字符串并执行它。这是一个示例:在 ssis 中使用表名作为变量

于 2013-10-08T00:59:14.117 回答
1

执行 SQL 任务可用的连接管理器都不支持参数化表名,这是您尝试对查询中的第一个“参数”执行的操作insert into ? values(?,?)(有关更多详细信息,请参阅“使用参数名称和标记”中的MSDN 文章执行 SQL 任务中的参数和返回码。)

于 2013-10-07T14:52:06.393 回答