Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssis SSI使用查询名称中的变量_Ssis - Fatal编程技术网

Ssis SSI使用查询名称中的变量

Ssis SSI使用查询名称中的变量,ssis,Ssis,假设我有以下场景 Select age ,address ,full_name from [dbo].customers 我想用一个ssis变量替换[dbo]部分,因此当我们运行这个包并需要替换模式时,这是小菜一碟 到目前为止,我一直在尝试创建一个名为schema\u var\u name的SQL变量,并将其附加到前面,但这对我来说不起作用 你能告诉我我做错了什么吗 以下是我所拥有的: "Select age ,address

假设我有以下场景

Select
      age
     ,address
     ,full_name
from
     [dbo].customers
我想用一个ssis变量替换
[dbo]
部分,因此当我们运行这个包并需要替换模式时,这是小菜一碟

到目前为止,我一直在尝试创建一个名为
schema\u var\u name
的SQL变量,并将其附加到前面,但这对我来说不起作用

你能告诉我我做错了什么吗

以下是我所拥有的:

"Select
      age
     ,address
     ,full_name
from
     '@[User::schema_var_name]' + '.[customers]' "

您需要在SQL文本中连接
@[User::schema\u var\u name]
变量,查询的其他部分用双引号括起来(
)。下面是SQL命令的表达式示例。然后,可以将其用作为执行SQL任务中的源语句或数据流任务中的源组件设置的变量的表达式

"Select age, address, full_name from " +  @[User::schema_var_name] + ".[customers]"

您还可以构建动态sql语句,并在
执行sql任务中执行它。
告诉任务您要在该位置使用变量。然后在
参数映射下设置变量。
。您的查询如下所示:

DECLARE @schemaName NVARCHAR(100) = ?
DECLARE @sqlQuery NVARCHAR(MAX) = N'
SELECT
      age
     ,address
     ,full_name
FROM
     [' + @schemaName + '].customers'

EXEC(@sqlQuery)
编辑:

以下是参数映射的外观:

参数名
通常是这些字段中最不直观的。它是一个基于1的id序列,用于
输入
参数。如果要使用另一个输入变量,其
参数名
将是
2