繁体   English   中英

如何将父子SSIS包上传到服务器

[英]How to upload Parent child SSIS package to server

大家好,我是SSIS的新手。 我已经由其他人开发了SSIS程序包,该程序包从平面文件读取数据并在映射后存储到数据库。

流程:1)首先打包从平面文件中提取记录并存储在表中。 2)然后使用执行包任务调用子包。 3)然后,子程序包进行一些计算并更新数据库表。

SSIS使用环境变量来获取数据库信息。

一切正常,但现在我想将此程序包部署到客户端的服务器。

问题:是否需要从bin文件夹复制和粘贴文件并将其粘贴到客户端计算机上? 我尝试过的事情:我从bin文件夹中复制文件,并将其放置在本地计算机上。 然后,我在MSSQL中创建一个作业并运行该作业。 程序包运行完美。 但是后来我更改了项目的位置,问题开始了,工作停止了。 问题:错误表明子软件包的位置不可用(因为我更改了项目文件的位置)

在此处输入图片说明

请提出该怎么办。

我将在此处进行一些假设,如果发现任何错误,请纠正我。

我猜的问题是,在连接管理器中的Package.dtsx上,该链接当前链接到项目文件夹中的包位置。 在这种情况下,您想将其更改为另一个位置,但是连接管理器中的包仍指向项目位置。

如果您是我,请执行以下操作:

创建一个字符串变量

  • PackageFolderPath- C:\\CurrentPackagePath\\DBPackage.dtsx

现在,您要执行的操作是转到连接管理器中的程序包,并在属性下添加带有以下内容的ConnectionString表达式: “@[User::PackageFolderPath]如果评估该表达式,它将为您提供设置位置您的变量。

但是请注意,如果您希望在开发系统上使用它,则将包安装到项目位置。

包装评估

现在,完成设置后,将文件复制到新服务器上,并在SQL代理作业下进入“ Set Values选项卡,并在此处添加以下内容:

\\Package.Variables[User::PackageFolderPath].Properties[Value]

在要放置在包装现在所在的位置的值下

SQLAgentJobSetValues

现在,这将在运行程序包时选择程序包的新位置。

更好的方法是利用部署实用程序,并在程序包上使用XML配置变量。 但是,这种方式应该可行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM