【问题标题】:How to upload Parent child SSIS package to server如何将父子 SSIS 包上传到服务器
【发布时间】:2014-02-17 06:34:52
【问题描述】:

大家好,我是 SSIS 的新手。我有其他人开发的 SSIS 包,这个包从平面文件中读取数据并在映射后存储到数据库。

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

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

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

问题:我需要从 bin 文件夹中复制和粘贴文件并粘贴到客户端机器上吗? 我尝试了什么:我从 bin 文件夹中复制文件并放在我的本地计算机上。然后我在 MSSQL 中创建一个作业并运行该作业。包运行完美。但后来我改变了项目的位置,问题开始工作停止工作。 问题:错误提示子包的位置不可用(因为我更改了项目文件的位置)

请提出建议。

【问题讨论】:

    标签: deployment ssis bids


    【解决方案1】:

    我将在这里做几个假设,如果我有任何错误,请纠正我。

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

    如果我是你,我会这样做:

    创建一个字符串变量

    • PackageFolderPath - C:\CurrentPackagePath\DBPackage.dtsx

    现在您要做的是转到连接管理器中的包,并在属性下为 ConnectionString 添加一个表达式,其中包含以下内容:“@[User::PackageFolderPath] 如果您评估该表达式,它应该为您提供您在变量中设置的位置.

    但请注意,如果您希望它在开发系统上运行,请将包设置到项目位置。

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

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

    在您想要放置包现在所在位置的值下

    这现在应该在运行时获取包的新位置。

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-09
    • 2017-04-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多