Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.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/8/variables/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
Sql 存储在SSI外部的变量值_Sql_Variables_Ssis - Fatal编程技术网

Sql 存储在SSI外部的变量值

Sql 存储在SSI外部的变量值,sql,variables,ssis,Sql,Variables,Ssis,这只是高级程序员的SSIS问题。我有一个sql表,其中包含clientid、clientname、Filename、Ftplocationfolderpath、filelocationfolderpath 此表为我的每个客户保存一条唯一的记录。随着客户机列表的增长,我在sql表中为该客户机添加了一个新行 我的问题是:我是否可以使用sql表中的值,并根据客户端id在SSIS包变量中引用它们 之所以使用sql表,是因为有时我们会收到更改外部发送的文件的传递或文件名的请求。我们希望能够在sql表中动态

这只是高级程序员的SSIS问题。我有一个sql表,其中包含clientid、clientname、Filename、Ftplocationfolderpath、filelocationfolderpath

此表为我的每个客户保存一条唯一的记录。随着客户机列表的增长,我在sql表中为该客户机添加了一个新行

我的问题是:我是否可以使用sql表中的值,并根据客户端id在SSIS包变量中引用它们

之所以使用sql表,是因为有时我们会收到更改外部发送的文件的传递或文件名的请求。我们希望能够在sql表中动态地更改这些内容,而不必每次都导出包并手动更改然后重新导入包。每个客户端都有自己的SSIS包

让我知道这是否可行。如果您有任何见解,我将不胜感激。是的。
我假设您每个客户端运行一次包,或者使用一些循环。

在“每客户端”代码的开头,将数据库中所有必需的值读取到SSIS变量中,然后使用这些变量定义所需的内容。您不应在软件包中硬编码特定于客户端的信息。

是的,这是可能的。有两种方法可以实现这一点,这取决于作业的运行方式。第一种情况是,如果为单个作业运行运行单个客户端,或者为单个作业运行运行多个客户端

无论哪种方式,您都将使用executesql任务从数据库中检索数据并将其分配给变量

  • 您正在为单个客户端运行。这相当简单。在结果集中,选择单行选项,将单行的结果映射到包变量,然后继续处理
  • 您正在为多个客户端运行。在结果集中,选择Full Result Set,并将结果分配给一个Object类型的包变量-给它一个有意义的名称,如ObjectRs。然后,您将添加ForEachLoop枚举器:
    • 类型:Foreach ADO枚举器
    • ADO对象源变量:选择对象
    • 枚举器模式:所有表中的行(仅限ADO.NET数据集)
  • 在变量映射中,将所有列按顺序映射到包变量。这有效地将包转换为一系列循环的单个事务