SQL 2000中的xp_cmdshell提示错误
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"
可以正确返回结果.
------解决方案--------------------declare @query varchar(1000)
set @query = 'master.dbo.xp_cmdshell "dir c:\input /b"' --单引号
PRINT @query
------解决方案--------------------declare @query varchar(1000)
set @query = 'master.dbo.xp_cmdshell "dir c:\input /b"'
exec(@query)
------解决方案--------------------不能这么执行,按下面的方法执行试试,不过,注意单引号
declare @query varchar(1000)
set @query = 'master.dbo.xp_cmdshell "dir c:\input /b"'
exec sp_sqltext @query
必须把你的执行语句转换,然后才可以执行
------解决方案--------------------字符型变量赋值要用单引号。