0

我正在尝试使用来自 SQL 任务的具有完整结果集结果集的 SQLStatement 的输出作为对象来馈送到 foreach 循环容器中。

SQL 语句是

SELECT * FROM INFORMATION_SCHEMA.TABLES
where TABLE_NAME like 'Dim%'

我想将来自源 OLEDB SQL 连接的查询输出作为对象传递给容器,以将表传输到其他 OLEDB SQL 连接。

我的参数设置如下:

  • 变量名称 = User::Tables_to_be_transferred
  • 方向 = 输入
  • 数据类型 = VARCHAR
  • 参数名称 = 新参数
  • 参数大小 = -1

结果集: - 结果名称 = 0 - 变量名称 = User::Tables_to_be_transferred

但是当我运行代码时,我收到以下错误消息:

    Error: 0xC002F210 at Select tables, Execute SQL Task: Executing the query "SELECT * FROM INFORMATION_SCHEMA.TABLES where TABL..." failed with the following error: "Parameter name is unrecognized.". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.

我该如何解决?任何帮助,将不胜感激。

4

2 回答 2

1

您不需要输入参数,因为您的查询没有任何参数,因此添加一个可能会导致问题。

确保User::Tables_to_be_transferred它是一个对象类型变量,并且只将它用于 ResultSet。不要将其用作输入参数。

于 2018-11-29T18:57:58.387 回答
0

您不需要使用参数来返回结果集。由于您已经ResultSet设置为 full,因此在 Result Set 窗格中的Variable Name字段中添加一个对象类型变量,并使用 0 作为Result Name以将 Execute SQL Task 的结果分配给 this 变量。

于 2018-12-06T16:00:13.410 回答