EXEC master..xp_cmdshell 'bcp database.dbo.table out E:\table.xls -c -q -T' 
这条语句是写在事务里面的,一直运行正常,由于特殊原因今天得临时运行下
运行成功,可是几乎是瞬间返回如下结果

output
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
NULL(1 行受影响)求高手解答,如解决,另加分bcp

解决方案 »

  1.   

    现在运行bcp 语句几乎是瞬间响应,输出结果,各种不复制数据
    output
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    NULL(1 行受影响)
      

  2.   

    这个瞬间执行完毕代表没有执行成功,你把e盘的这个excel移到别的盘然后再执行看看是否因为已经存在文件所以不行。
      

  3.   

    移动了,重启服务器也不行。任何xp_cmdshell命令都不执行了现在
      

  4.   

    使用xp_cmdshell'bcp' 一共有 4个存储过程。
    自从xp_cmdshell挂掉的那天起,有2个存储过程根本无法更新文件。但是 有2个存储过程成功的更新了文件。导出的xls文件修改日期为今天凌晨。但是刚才我又查询分析器里面试了下那个xp_cmdshell依然无法使用~
      

  5.   

    EXEC master..xp_cmdshell 'bcp database.dbo.table out E:\table.csv -c -q -T' 
    试下这个,我刚才试了一下,只有这样改,我本机的才可以导出来
      

  6.   


    现在的问题不是语句问题,而是splog70.dll根本不被使用。也就是说,在我们运行xp_cmdshell时,它根本未调用splog70.dll
    这个是其中2个存储过程运行成功,而另2个存储过程运行成功的原因。
    也是现在各种运行,弹出结果为null的原因
      

  7.   

    那你有再写一个测试用的bcp试试能执行吗?
      

  8.   

    那可能是你服务器层面的问题了,看看别的机器有没有这个dll,然后覆盖过去看看
      

  9.   

    版主大大,我再描述下昨晚我重启了一下服务器,有4个存储过程有 exec master..xp_cmdshell'bcp  out E:\name.xls'语句昨晚11:59重启,有2个存储过程在凌晨2点执行成功,并成功覆盖旧文件。4点时候另外2个存储过程就没运行成功。今天我各种运行xp_cmdshell语句,也是返回output  null
    这种情况下该怎么调服务器?
      

  10.   

    先试在CMD里跑BCP能不能出来,确定是不是cmdshell的问题先。
      

  11.   


    鸭桑,CMD里面可以运行。
      

  12.   

    怎么感觉是操作系统有问题,先断网杀下毒吧。
    如果是WIN里的DLL问题,建议重装遍系统最保险