使用SQL Server 2005在存储过程内执行bat文件

时间:2011-08-11 09:28:58

标签: sql-server

当我尝试使用xp_CMDShell执行bat文件时,我收到一条消息为无法识别的命令。

以下是我执行的命令:

EXEC master..xp_CMDShell 'C:\Documents and Settings\adcxqcv\Desktop\PQA\sample.bat' 

我收到如下消息:

'C:\Documents' is not recognized as an internal or external command,
operable program or batch file.
NULL

任何建议。让我知道如何在存储过程中执行bat文件。 我是SQl Server的新手。

谢谢, Vinu

3 个答案:

答案 0 :(得分:5)

将路径放在“”

EXEC master..xp_CMDShell '"C:\Documents and Settings\adcxqcv\Desktop\PQA\sample.bat"' 

答案 1 :(得分:2)

xp_cmdshell对长文件名有点挑剔,你使用引号而且它不是在打球,双引号有时可以工作但是如果它仍然不想打球那么尝试使用旧的8.3文件名代替。

exec master..xp_cmdshell 'c:\docume~1\adcxqcv\Desktop\PQA\sample.bat' 

答案 2 :(得分:-1)

没有参数

exec(' xp_cmdshell ''C:\script\test.bat'); --your bat file location(path)

使用参数

exec(' xp_cmdshell ''C:\script\test.bat '+@ecistate+' '+@stateid+' '+@pcno+''''); --your bat file location(path)

执行并享受解决方案:)