【问题标题】:SSIS Package Execution from SQL Agent & DTExec: Parameters or Variables?从 SQL 代理和 DTExec 执行 SSIS 包:参数还是变量?
【发布时间】:2015-03-16 16:50:31
【问题描述】:

我有一个 SSIS 包,我将在运行时为其提供一些输入值。我希望有可能从 SQL 代理或文件系统中的 DTExec 执行它。根据我的发现,如果我从一个文件(实际上是一个 .ispac 编译的项目)运行 DTExec,我只能使用 /SET 选项设置变量,而不是包参数。但是,如果我想从代理运行它,或者从一般的服务器运行它,它更好更容易使用参数。 目前,我创建了空参数和变量作为输入的占位符,并创建了带有表达式的附加变量作为开关,以便在变量为空时使用参数。 虽然这有点多余,所以我需要知道是否有任何方法只使用参数,并在从文件系统运行时从 DTExec 设置它?或者有没有人有更好的想法?

【问题讨论】:

    标签: sql-server ssis sql-agent


    【解决方案1】:

    使用 DTExec 执行 SSIS 包时,设置参数的最佳、最简单和最便携的方法是使用“XML 配置文件”。创建和使用此类文件使您能够在 Dev 中使用一组值(例如 SQL Server 实例名称和密码)和另一组值在生产环境中执行包。

    要创建 XML 配置文件,请单击包中 BIDS 中的 SSIS 选项卡,选择包配置,然后您可以选择将包含设置及其初始值的 XML 文件。

    【讨论】:

    • 我正在使用项目部署模型,据我所知这是不可用的。
    • 根据 msdn,您可以将 dtexec 与项目部署模块一起使用。 MSDN - “您也可以使用 dtExec 执行包。” (msdn.microsoft.com/en-us/library/hh213290.aspx) 如果您可以使用 dtecec,您可以使用包配置文件。您可能需要将包配置文件(一个 xml 类型的文件)移动到目标机器上。
    猜你喜欢
    • 2018-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多