想用CMD执行dtexec,然后进行数据导入导出,想把SQL语句当作执行dtexec的参数,在设计器里全部可以调试通过,
但是在CMD命令里,怎么才能动态的传进参数呢?
在网上看到加/SET Package.Variables[User::ExcelFilePath].Properties[Value]可以,但是自己试了咋都不行,哪个高手能帮我写个完成的CMD命令啊。。value里的值是select * from aa,要能执行的CMD,小弟怎么写都在报错,郁闷致死。。
请教朋友,给我想了一大招,把参数写在数据库里。。不过还是很想知道怎么能把SQL语句当参数传进去,高手们帮下忙,万分感谢啊。。

解决方案 »

  1.   

    /Set propertyPath;value (可选)。覆盖包中变量、属性、容器、日志提供程序、Foreach 枚举器或连接的配置。使用该选项时,/SET 可将 propertyPath 更改为指定的 value。可以指定多个 /SET 选项。可以通过运行包配置向导确定 propertyPath 的值。选定项的路径会显示在最后一个“完成向导”页中,可以进行复制和粘贴。如果仅以此目的使用该向导,则可以在复制路径后取消它。下面是执行包并为变量提供新值的示例:dtexec /f mypackage.dtsx /set \package.variables[myvariable].Value;myvalue
     
      

  2.   

    我是通过包配置了一个指定包的变量,在变量里写了一句SQL,那么我要动态的set这个sql该怎么写呢?
    能给我写个完整的CMD吗?这个说明我看的不太明白-。-
      

  3.   

    是指
    dtexec /f mypackage.dtsx /set \package.variables[参数名].Value;参数值 /set XXXX?
      

  4.   

    这个CMD都不知道咋写。前面mypackage.dtsx 是C:\Documents and Settings\mypackage.dtsx
    后面的myvalue是select * from a;
      

  5.   

    假设在Package的作用域下,有一个myvariable的string类型的变量.dtexec /F "c:\Package.dtsx" /set \package.variables[myvariable].Value;"select * from tb"
      

  6.   

    OK啦,3Q。。结贴。谢谢楼上的高手哇。。刚才把变量设到dtsx了,忙了我半天都不行,哈哈。。3Q~~hehe