Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/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
Dynamic SSIS中的动态OLEDB连接_Dynamic_Ssis_Oledbconnection - Fatal编程技术网

Dynamic SSIS中的动态OLEDB连接

Dynamic SSIS中的动态OLEDB连接,dynamic,ssis,oledbconnection,Dynamic,Ssis,Oledbconnection,我正在设计一个SSIS包,它将数据从一个数据库导入到另一个数据库。实际上,我需要将数据从多个数据源导入一个目标数据库。我知道的一种方法是对所有数据源(连接字符串)使用包配置,并运行同一个包的多个实例。但我希望这样,我应该在配置文件中的某个时间点提供所需的连接字符串,我的包应该连接到每个数据库,从配置读取数据源连接字符串并导入到目标表 这有可能吗?如果您的数据流任务对于每个数据源都是相同的(例如,使用每个数据源的相同表),您可以执行以下操作: 创建一个对象变量,比如ConnStrList。这将保存

我正在设计一个SSIS包,它将数据从一个数据库导入到另一个数据库。实际上,我需要将数据从多个数据源导入一个目标数据库。我知道的一种方法是对所有数据源(连接字符串)使用包配置,并运行同一个包的多个实例。但我希望这样,我应该在配置文件中的某个时间点提供所需的连接字符串,我的包应该连接到每个数据库,从配置读取数据源连接字符串并导入到目标表


这有可能吗?

如果您的数据流任务对于每个数据源都是相同的(例如,使用每个数据源的相同表),您可以执行以下操作:

  • 创建一个对象变量,比如ConnStrList。这将保存连接字符串列表
  • 在脚本任务中,循环查看配置文件并将每个连接字符串添加到ConnStrList
  • 添加一个ForEach循环容器,将其数据源设置为ConnStrList。创建一个字符串变量,比如ConnStr。这将保存单个连接字符串。将ConnStr设置为foreach循环的迭代变量
  • 将数据流任务添加到ForEach循环容器中
  • 为OLEDB源创建OLEDB连接管理器。转到Properties->Expressions,并为ConnectionString指定变量ConnStr
  • 如果每个场景的DFT都不同,那么您可能希望每个源都有单独的数据流


    请告诉我这是否回答了您的问题,或者我是否理解错了场景。

    如果您的数据流任务对于每个数据源都是相同的(例如,使用每个数据源的相同表),您可以执行以下操作:

  • 创建一个对象变量,比如ConnStrList。这将保存连接字符串列表
  • 在脚本任务中,循环查看配置文件并将每个连接字符串添加到ConnStrList
  • 添加一个ForEach循环容器,将其数据源设置为ConnStrList。创建一个字符串变量,比如ConnStr。这将保存单个连接字符串。将ConnStr设置为foreach循环的迭代变量
  • 将数据流任务添加到ForEach循环容器中
  • 为OLEDB源创建OLEDB连接管理器。转到Properties->Expressions,并为ConnectionString指定变量ConnStr
  • 如果每个场景的DFT都不同,那么您可能希望每个源都有单独的数据流


    请让我知道这是否回答了您的问题,或者我是否理解错了情况。

    您回答的问题非常正确。是的,我的DFT是相同的,所有源的模式都是相同的,所以所有源的流程都是相同的。我想我需要公开配置的对象变量,并在脚本任务中读取相同的对象变量,然后断开不同的连接字符串?是的,您需要将配置文件中的所有连接字符串读入脚本任务,然后将它们添加到列表中,并将该列表用作ForEach的源。ConnStrList您指的是什么这是到某个组件的吗?事实上我以前从未使用过ForEach容器。我将探索这一点。谢谢。看来你的方法对我有用。你回答得很对。是的,我的DFT是相同的,所有源的模式都是相同的,所以所有源的流程都是相同的。我想我需要公开配置的对象变量,并在脚本任务中读取相同的对象变量,然后断开不同的连接字符串?是的,您需要将配置文件中的所有连接字符串读入脚本任务,然后将它们添加到列表中,并将该列表用作ForEach的源。ConnStrList您指的是什么这是到某个组件的吗?事实上我以前从未使用过ForEach容器。我将探索这一点。谢谢。看来你的方法对我有用。