SNA*_*SNA 40 ssis connection-string configuration-files
我在SQL Server Business Intelligent Development Studio中使用SQL Server Integration Services(SSIS).
我需要做一个如下任务.我必须从源数据库中读取并将其放入目标平面文件中.但同时源数据库应该是可配置的.
这意味着在OLEDB连接管理器中,连接字符串应该动态更改.此连接字符串应取自配置/ XML/flat文件.
我读到我可以使用变量和表达式动态更改连接字符串.但是如何从config/XML/flat文件中读取连接字符串值并设置变量?
这部分我无法做到.这是实现这一目标的正确方法吗?我们可以将web.config文件添加到SSIS项目吗?
小智 30
首先向SSIS包添加一个变量(包范围) - 我使用了FileName,OleRootFilePath,OleProperties,OleProvider.每个变量的类型是"string".然后我创建一个配置文件(选择每个变量 - 值) - 填充配置文件中的值 - 例如:for OleProperties - Microsoft.ACE.OLEDB.12.0; for OleProperties - Excel 8.0; HDR =,OleRootFilePath - 您的Excel文件路径,FileName - FileName
在Connection管理器中 - 然后我动态设置Properties-> Expressions-> Connection字符串表达式,例如:
"Provider=" + @[User::OleProvider] + "Data Source=" + @[User::OleRootFilePath] + @[User::FileName] + ";Extended Properties=\"" + @[User::OleProperties] + "NO \""+";"
这样,一旦设置了变量值并在配置文件中更改它 - 连接字符串将动态更改 - 这尤其有助于从开发环境转移到生产环境.
小智 26
一些选择:
在运行程序包之前,您可以使用Execute Package Utility更改数据源.
您可以使用DTEXEC运行程序包,并通过传入/ CONNECTION参数来更改连接.可能将其保存为批处理,以便下次不需要输入整个内容,只需根据需要更改数据源即可.
您可以将配置保存在数据库表中.
Tod*_*mid 10
以下是您应该使用的机制的一些背景知识,称为包配置:了解Integration Services包配置.本文介绍了5种配置:
以下是在Connection Manager上设置配置的演练:SQL Server Integration Services SSIS包配置 - 我确实意识到这是使用环境变量作为连接字符串(不是一个好主意),但基本知识与使用XML相同文件.您必须在该演练中更改的唯一步骤是配置类型,然后是路径.