declare @query varchar(1000)
set @query = master.dbo.xp_cmdshell "dir c:\input /b"错误提示:
服务器:消息 170,级加15,状态 1,行2
第2行:'dir c:\input /b"附个有误法错误单独执行:
EXEC master.dbo.xp_cmdshell "dir c:\input /b"或
master.dbo.xp_cmdshell "dir c:\input /b"可以正确返回结果.

解决方案 »

  1.   

    declare @query varchar(1000)
    set @query = 'master.dbo.xp_cmdshell "dir c:\input /b"'  --单引号PRINT @query
      

  2.   

    declare @query varchar(1000)
    set @query = 'master.dbo.xp_cmdshell "dir c:\input /b"'
    exec(@query)
      

  3.   

    不能这么执行,按下面的方法执行试试,不过,注意单引号
    declare @query varchar(1000)
    set @query = 'master.dbo.xp_cmdshell "dir c:\input /b"'
    exec sp_sqltext @query
    必须把你的执行语句转换,然后才可以执行