日期:2014-05-17  浏览次数:20800 次

关于执行 EXEC master..xp_cmdshell @sql 的问题
OS:WINDOWS 2003
DB:SQL2008R2
数据库SA口令 abcdef
在执行如下语句时提示 
     output
1   处理命令行时出错
2   NULL
   

declare @sql varchar(8000)
set @sql='bcp '+rtrim(db_name()) + '.dbo.tmp_sj(nolock)' +' out '  +' "'+'f:\导出\'+'ff'+'.txt'+'" '+' /c /U sa /P abcdef'
exec   master..xp_cmdshell @sql 


如果我把 SA 口令清空 把 执行@SQL 中的  

set @sql='bcp '+rtrim(db_name()) + '.dbo.tmp_sj(nolock)' +' out '  +' "'+'f:\导出\'+'ff'+'.txt'+'" '+' /c /U sa /P abcdef'

修改为 

set @sql='bcp '+rtrim(db_name()) + '.dbo.tmp_sj(nolock)' +' out '  +' "'+'f:\导出\'+'ff'+'.txt'+'" '+' /c /U sa /P '

这样就可以到出文件到f:\导出 文件夹

我哪里设置错误了吗?  是不是我把格式写错了


sql 数据库

------解决方案--------------------
不是应该用-U -P这样吗?联机丛书没有写/u /p这样的哦
------解决方案--------------------
用户名和密码都加上双淫号
------解决方案--------------------
引用:
用户名和密码都加上双淫号

版主亮了~版主说的对~-U"sa" -P"123465"
------解决方案--------------------
引用:
还有别的办法 吗?

嗯。。去掉(nolock)