【问题标题】:Parameterize and Execute SSIS DSTX for Data Import为数据导入参数化和执行 SSIS DSTX
【发布时间】:2017-06-21 16:47:43
【问题描述】:

我想使用 SSIS 在 2 个 SQL Server 数据库之间传输一大堆数据。 如何参数化 SQL Server“导入数据”向导的输出并执行它以在其他环境中运行?

在 SQL Server 中,我右键单击目标数据库并单击“导入数据”并通过向导并选择“保存 SSIS 包”选项。这工作得很好,并生成了一个 .dstx 文件来在我运行向导的服务器上的特定数据库之间进行传输。现在我想自定义 .dstx 以参数化数据源以及源和目标数据库,以便能够在其他环境中运行。然后我希望能够从命令行执行 .dstx 包。由于我对 SSIS 几乎一无所知,所以我在这两个步骤中都在苦苦挣扎,但我怀疑这应该是一件容易的事。

另外,尝试从命令行运行“dtexec.exe”会引发关于版本 3 无法运行版本 8 或类似的错误(PackageFormatVersion 在 XML 中设置为 8)?

不需要在 Visual Studio 中创建 SSIS 项目的最佳方法是什么?我想直接更新 XML 并调用任何 EXE 能够执行它并接受连接字符串的参数,或连接字符串中的各个变量。我能够成功双击 .dstx 文件并使用 GUI 运行它,但我希望能够从命令行执行相同操作,而无需创建 SQL 代理作业。

这是 .dstx 文件中需要参数化的 XML 节点。

<DTS:ConnectionManagers>
<DTS:ConnectionManager
  DTS:refId="Package.ConnectionManagers[DestinationConnectionOLEDB]"
  DTS:CreationName="OLEDB"
  DTS:DTSID="{72C15889-EC1F-4BFA-A704-7562C68B2463}"
  DTS:ObjectName="DestinationConnectionOLEDB">
  <DTS:ObjectData>
    <DTS:ConnectionManager
      DTS:ConnectionString="Data Source=localhost;Initial Catalog=DestinationDatabase;Provider=SQLNCLI11;Integrated Security=SSPI;Auto Translate=false;" />
  </DTS:ObjectData>
</DTS:ConnectionManager>
<DTS:ConnectionManager
  DTS:refId="Package.ConnectionManagers[SourceConnectionOLEDB]"
  DTS:CreationName="OLEDB"
  DTS:DTSID="{B1415B25-61D6-4202-9BC6-CA59B358B766}"
  DTS:ObjectName="SourceConnectionOLEDB">
  <DTS:ObjectData>
    <DTS:ConnectionManager
      DTS:ConnectionString="Data Source=localhost;Initial Catalog=SourceDatabase;Provider=SQLNCLI11;Integrated Security=SSPI;Auto Translate=false;" />
  </DTS:ObjectData>
</DTS:ConnectionManager>
</DTS:ConnectionManagers>

【问题讨论】:

    标签: sql-server ssis


    【解决方案1】:

    我对 SSIS 几乎一无所知,但我怀疑这应该是 一件容易的事。

    抱歉,这不是一件容易的事。在 SSIS 中为多个环境参数化连接的方法是使用配置文件和包变量,到目前为止,最简单的方法是使用 Visual Studio 中的项目。

    如果由于某种原因您不能使用 Visual Studio,您可以直接在文本编辑器中编辑包的 xmla,但祝您好运找到解释如何做到这一点的教程,或者任何知道如何做的人,然后祝你好运并调试它。也许您可以查看使用配置的包的 xmla 并将其用作模型(如果有的话)。

    【讨论】:

    • 可以保存包,使用包变量。包变量可以通过配置文件设置...
    • 这让我很难过。我将不再使用 SSIS,而是在我的 SQL 项目中使用“部署后”脚本来处理所需的数据迁移。
    猜你喜欢
    • 2018-01-14
    • 1970-01-01
    • 2019-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-27
    • 2017-09-20
    相关资源
    最近更新 更多