SSIS如何从配置文件动态设置连接字符串
我正在SQL Server Business Intelligent Development Studio中使用SQL Server集成服务SSIS 我需要做一个如下的任务。我必须从源数据库读取数据并将其放入目标平面文件中。但同时源数据库应该是可配置的 这意味着在OLEDB连接管理器中,连接字符串应该动态更改。此连接字符串应取自配置/XML/flat文件 我读到可以使用变量和表达式动态更改连接字符串。但是如何从config/XML/flat文件中读取连接字符串值并设置变量呢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文件中读取连接字符串值并设置变量呢 这部分我做不到。这是
这部分我做不到。这是实现这一目标的正确方法吗?我们可以将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种配置类型,这是最好的演练。