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
SSIS如何从配置文件动态设置连接字符串_Ssis_Connection String_Configuration Files - Fatal编程技术网

SSIS如何从配置文件动态设置连接字符串

SSIS如何从配置文件动态设置连接字符串,ssis,connection-string,configuration-files,Ssis,Connection String,Configuration Files,我正在SQL Server Business Intelligent Development Studio中使用SQL Server集成服务SSIS 我需要做一个如下的任务。我必须从源数据库读取数据并将其放入目标平面文件中。但同时源数据库应该是可配置的 这意味着在OLEDB连接管理器中,连接字符串应该动态更改。此连接字符串应取自配置/XML/flat文件 我读到可以使用变量和表达式动态更改连接字符串。但是如何从config/XML/flat文件中读取连接字符串值并设置变量呢 这部分我做不到。这是

我正在SQL Server Business Intelligent Development Studio中使用SQL Server集成服务SSIS

我需要做一个如下的任务。我必须从源数据库读取数据并将其放入目标平面文件中。但同时源数据库应该是可配置的

这意味着在OLEDB连接管理器中,连接字符串应该动态更改。此连接字符串应取自配置/XML/flat文件

我读到可以使用变量和表达式动态更改连接字符串。但是如何从config/XML/flat文件中读取连接字符串值并设置变量呢


这部分我做不到。这是实现这一目标的正确方法吗?我们可以将web.config文件添加到SSIS项目中吗?

以下是您应该使用的机制的一些背景信息,称为包配置:。 本文介绍了5种类型的配置:

XML配置文件 环境变量 注册表项 父包变量 SQL Server 下面是一个在连接管理器上设置配置的演练:-我确实意识到这是为连接字符串使用环境变量不是一个好主意,但基本原理与使用XML文件相同。在该演练中,您只需更改配置类型,然后更改路径。

一些选项:

在运行包之前,可以使用更改数据源

您可以使用运行包,并通过传入/connection参数来更改连接。可能会将其保存为批处理,这样下次您就不需要键入整个内容,只需根据需要更改数据源即可

您可以使用SSIS XML文件。这是一本书

您可以将配置保存在数据库表中


首先向SSIS包范围添加一个变量-我使用了FileName、OleRootFilePath、OleProperties和OleProvider。每个变量的类型为string。然后我创建一个配置文件,选择每个变量-值-填充配置文件中的值-例如:for OleProperties-Microsoft.ACE.OLEDB.12.0;对于OleProperties-Excel 8.0;HDR=,OleRootFilePath-您的Excel文件路径,FileName-FileName

在连接管理器中-然后动态设置属性->表达式->连接字符串表达式,例如:

"Provider=" + @[User::OleProvider] + "Data Source=" + @[User::OleRootFilePath] + @[User::FileName] + ";Extended Properties=\"" + @[User::OleProperties] + "NO \""+";"
这样,一旦设置变量值并在配置文件中更改它,连接字符串将动态更改,这尤其有助于从开发环境移动到生产环境。

转到包属性->配置->启用包配置->添加->xml配置文件->指定dtsconfig文件->单击下一步->在OLEDB属性中勾选连接字符串->将显示连接字符串值->单击下一步,然后配置完成包


您也可以在此过程中添加环境变量

这些答案是正确的,但很旧,适用于Depoloyement包模型。 我实际需要的是更改连接管理器的服务器名称和数据库名称,我发现这非常有用:


适用于使用SQL Server 2012-2014-2016的用户。。。使用部署项目模型

4。您可以将配置保存在数据库表中。感谢中介绍了5种配置类型,这是最好的演练。