【问题标题】:Edit SSIS connections in config file from command line从命令行编辑配置文件中的 SSIS 连接
【发布时间】:2013-03-06 08:38:12
【问题描述】:

我使用 SQL Server 导出向导实用程序生成了一个打包的 SSIS。

我从 Oracle 11g 数据库中提取记录并将它们迁移到 SQL Server 2008 R2。

由于我有许多具有相同架构的 oracle 数据库(测试、生产),我想将创建的包也重用于其他环境。该包将通过命令行执行,理想情况下是根据不同的系统更改源和目​​标连接字符串。

是否可以使用 package .config 文件来更改源和目​​标连接?

如果是这样,哪些“关键字”可以确保将特定连接字符串用于正确的目标数据库?

【问题讨论】:

    标签: ssis sql-server-2008-r2 oracle11g database-migration


    【解决方案1】:

    当您使用向导创建 SSIS 包时,请选择选项在保存包时不保存敏感信息

    一旦包被保存,登录到集成服务展开MSDB然后Maintenance Plan文件夹你会找到你的SSIS包。右键点击Package并选择Run Package

    在连接管理器选项卡中选择您的数据源。

    然后单击命令行选项。您将获得执行包的整个命令,您可以在其中修改您在上面选择的连接字符串。

    命令可能看起来像

     /DTS "\MSDB\PackageName" /SERVER "ServerName" 
     /CONNECTION  DestinationConnectionOLEDB;"\"Data Source=localhost; 
      Initial Catalog=DBName;Provider=SQLNCLI10;Integrated Security=SSPI;
      Auto Translate=false;\"" /CONNECTION SourceConnectionOLEDB;
      "\"Data Source=localhost;Initial Catalog=DBName;Provider=SQLNCLI10;
      Integrated Security=SSPI;Auto Translate=false;\"" 
       /CHECKPOINTING OFF  /REPORTING V 
    

    现在为了使用命令提示符执行包 只需在上面的命令中添加dtexec

    更改为不同服务器执行的连接字符串

    【讨论】:

    • 我尝试从命令行运行包,但总是收到以下异常:“Microsoft.SqlServer.Dts.Runtime.DtsCouldNotCreateManagedConnectionException:无法创建托管连接管理器。”即使我使用 dtexec.exe(32 位版本)运行,也没有任何变化。创建了一些表,但是在运行数据流块时,它抛出了上面的异常。
    • 我不知道这个错误。但请查看此链接social.msdn.microsoft.com/Forums/en-US/sqlintegrationservices/…
    • 我已经尝试使用 32 位“方法”,即使来自 BID,但没有成功。我认为我的命令行中有一些关于缺少凭据的内容。这是我的命令:dtexec.exe /FILE import_data.dtsx CONNECTION DestinationConnectionOLEDB;数据源=来源;初始目录=TEST;提供者=SQLNCLI10;集成安全=SSPI;自动翻译=false; CONNECTION SourceConnectionAdoNET;数据源=Oracle;密码=XYZ;用户ID=Ned;检查报告 EWCDI
    猜你喜欢
    • 1970-01-01
    • 2014-12-24
    • 2020-03-17
    • 2017-09-16
    • 2013-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-09
    相关资源
    最近更新 更多