【问题标题】:Passing connection string properties when using DTEXEC使用 DTEXEC 时传递连接字符串属性
【发布时间】:2013-07-18 18:48:52
【问题描述】:

我想知道在使用 dtexec 时在命令行上传递连接字符串属性的正确格式是什么:

dtexec.exe /Ser IpAddress\Instance /IS "\SSISDB\Data Warehouse\MyProject\MyPackage.dtsx" /DumpOnError /Set \Package.Variables[DW_ConnectionString].Properties[Value];\""Data Source=IpAddress;Initial Catalog=DWDB;Provider=SQLNCLI10.1;IntegratedSecurity=SSPI;"\"

我已经定义了上面的命令行配置,我试图在其中传递默认连接字符串属性的覆盖属性。我的目标包没有使用包连接,而是定义了项目级参数/属性来存储数据库连接。 出于某种原因,我无法让它工作。我在服务器上收到一条错误消息,说

未能配置具有 以下路径:\Package.Variables [DW_ConnectionString].Properties [价值]。设置值时出错 适当的价值”。返回的错误是0x80020009

我的格式对于覆盖属性是否正确? 软件包托管在远程服务器上

【问题讨论】:

    标签: ssis sql-server-2012


    【解决方案1】:

    下次尝试使用DTEXECUI 生成您的命令字符串。它有所有变量、连接管理器等的位置。您所要做的就是打开您的包并填写所有内容。然后您在 GUI 中输入您想要的任何更改,然后转到Command line 选项卡,它会给你放在 DTEXEC.EXEC 之后的字符串。当然你也可以从DTEXECUI 运行这个包。

    【讨论】:

    • 我已经安装了 SSMS,但它不在我的路径上。它被埋在..SSMS..Binn
    【解决方案2】:

    原来我的格式不对: 在这种情况下使用 /Set Package Variable 是不正确的:

    正确的格式是:

    /Par "$Project::DW_ConnectionString";\""Data Source=Server\Instance;Initial Catalog=myDb;Provider=SQLNCLI11.1;Integrated Security=SSPI;AutoTranslate=False;"\"
    

    【讨论】:

    • 出于好奇,您是如何得出这种格式的?转义双引号的顺序似乎很奇怪。为什么参数值的第一个和最后一个引号被转义了,而其他的没有?
    猜你喜欢
    • 2017-09-10
    • 1970-01-01
    • 1970-01-01
    • 2016-08-11
    • 1970-01-01
    • 2012-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多