DTS传参不是你简单看到的那样子的,不知道你想实现什么目的,为什么要传个“?”进去?说清楚一点

解决方案 »

  1.   

    使用DTSRUN命令运行dts包如:dtsrun /f".\MyDTS.dts" /E /A"@ChineseName":5="1005" 在这里传是不是好点呢?应该可以了吧
      

  2.   

    DTS参数传递确实如楼主帖出的描述但问题的关键是, 楼主后面的语句是DTS包的运作方式吗?
      

  3.   

    老大,是这样的。我的包已经定义好了!我用了3个全局变量设置Catalog的值为:
    全局变量DatabaseName(数据库)
    DataSource的值为:
    全局变量FileName(Excel文件名):
    连接SQLServer中,设置DataSource的值为
    全局变量ServerName。(服务器名称)
    想用DTS,把参数传给DTS,不知道怎么写这个参数了!如:
    dtsrun /f".\MyDTS.dts" /E /A"@ChineseName":5="1005" --参数说明看不懂!!
      

  4.   

    --是不是这样??
    EXEC master.dbo.xp_cmdshell 'dtsrun /S (local) /U sa /P  /E /N"包名" /A"DataSource":1="数据库" "FileName":2="C:\Test\Test.xls","ServerName":3="(local)"'
      

  5.   

    --try
    EXEC master.dbo.xp_cmdshell 'dtsrun /S   /U importuser /P import /E  /F"DTS文件" /N"名" /A"ServerName":8="服务器" /A"FileName":8="C:\Test\Test.xls" /A"DataSource":8="数据库" '
      

  6.   

    --刚用你的方法试了下:
    EXEC master.dbo.xp_cmdshell 'dtsrun /S   /U sa /P  /E  /F"D:\SZDATA\ExcelData\TestDtszlp.dts" /N"TestDtszlp" /A"ServerName":8="zlp" /A"FileName":8="D:\SZDATA\ExcelData\AppraiseData.xls" /A"DataSource":8="SZ" '--报告错误:
    DTSRun OnError:  DTSStep_DTSDataPumpTask_1, Error = -2147467259 (80004005)   字符串错误:   无法打开登录 'zlp' 中请求的数据库。登录失败。   错误源:   Microsoft OLE DB Provider for SQL Server   帮助文件:      帮助上下文:   0错误详细记录:错误:   -2147467259 (80004005); 提供程序错误:   4060 (FDC)   字符串错误:   无法打开登录 'zlp' 中请求的数据库。登录失败。   错误源:   Microsoft OLE DB Provider for SQL Server   帮助文件:      帮助上下文:   0--高手,人呢!!急死我了!!我就把3个全局变量传递进来.然后就是给它参数化,老不成功..我是把Excel文件导到数据库 用的是DTS方法(Excle很多.而且经常有新的Excle生成)解决了再开100 分,感谢..........汗..............
      

  7.   

    应该是你的包里的数据库连接文件不对吧参数就按上面方式就可,几个都没问题dtsrun /f".\MyDTS.dts" /E /A"@ServerName":5="1005" [/A……]多加几个参数
    上面的5是参数类型,你可以查查dtsrun命令的使用方法把上面的语句放在一个.bat文件中,批处理直接运行试试看