SSIS部署陷入困境



我很困惑如何在SSIS 2008中创建一个部署,以便在我们将要部署到的各个站点中使用。我正在使用部署实用程序部署我的ETL包,这些包是基于文件的,并使用SQL作业执行。

当我重新构建解决方案时,部署文件和它们的配置文件一起创建,我将连接字符串绑定到这些配置文件。我发现每个包仍然引用我的项目文件夹中的配置文件,而不是部署文件夹中的配置文件。我认为在创建部署时,引用配置文件的路径将是相对路径。

理想情况下,我希望能够将部署文件夹的内容复制到闪存驱动器中,将其插入我正在部署的站点,并根据客户站点编辑配置文件,执行文件夹中的部署清单文件,并期望一切正常。但事实似乎并非如此。

我还注意到SQL作业有一个为包指定配置文件的选项,但这似乎也没有效果。我在这里肯定做错了什么,请有人帮忙。

在SSIS部署和执行中似乎遇到了以下两个问题:

  1. 配置文件引用使用绝对路径存储(这意味着创建配置文件引用时在开发环境中使用的具体路径,而在生产中,这与将使用的路径相同)
  2. 在SSIS 2008的运行时指定其他配置文件无法覆盖在设计时指定的值(请参阅了解如何在运行时应用SSIS包配置)

要按照您描述的方式使用简单的文件副本部署您的包,您必须更改您的包以使用对配置文件的相对引用:

右键单击包文件,然后选择"查看源"以打开包源的XML视图。搜索您的配置文件,其中将包括路径,并删除路径;只保留文件名部分。或者,将配置文件的绝对路径更改为相对路径。保存并关闭包的XML视图。

现在,当您将包和配置文件部署在一起,确保它们具有相同的相对位置时,包将通过相对路径找到配置文件,并按照您期望的方式工作。

注意:从现在开始您需要双击项目或解决方案文件来打开BIDS IDE。如果启动Visual Studio,,然后从IDE中打开项目或解决方案,则执行包时IDE将找不到配置文件(当前目录将是Windows\System32,而不是包文件夹)。

最新更新