sql-server - 为什么我可以从 SQL Server 运行 .bat 而不是 .exe?

标签 sql-server exe xp-cmdshell

我可以从命令行运行 my.exe。我可以从 .bat 运行它。但是,当我尝试在 SQL Server 中运行它们时,.exe 似乎永远不会运行。

exec master..xp_cmdshell '\\fs01\filefolder\runpgm.bat'

这会运行 .bat,但它运行的 .exe 永远不会运行。

echo %date% %TIME% >> \\fs01\filefolder\test.txt
\\fs01\filefolder\CallClickSoftWS.exe >> \\fs01\filefolder\test.txt
echo %date% %TIME% >> \\fs01\filefolder\test.txt
echo "Done" >> \\fs01\filefolder\test.txt
exit

如果我从命令行运行“\fs01\filefolder\runpgm.bat”,那么它工作正常。

最佳答案

我只是将其添加为代码格式的答案,但请尝试将您的 exec 包装在 try catch 中,以便查看问题所在...

BEGIN TRY
    exec master..xp_cmdshell '\\fs01\filefolder\runpgm.bat'
END TRY
BEGIN CATCH 
    SELECT @ERROR_MESSAGE()
END CATCH

关于sql-server - 为什么我可以从 SQL Server 运行 .bat 而不是 .exe?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26717752/

相关文章:

sql - 空 XML 节点导致将数据类型 varchar 转换为数字时出错

c# - 在服务器上执行一个 EXE

sql - 表更新触发异步后从 SQL Server 运行控制台应用程序?

sql-server - 如何解码 D7 中的 XML Blob 字段

sql-server - Sequelize MSSQL - 不返回元数据和结果

sql-server - Microsoft.SqlServer.SqlTools.VSIntegration 引用问题/Visual Studio 2010 中的异常

batch-file - 如何连续运行同一个exe文件N次?

c# - 为 C# 控制台应用程序创建安装文件

c# - 尝试通过来自数据库触发器的 Web 请求执行 "EXECUTE Master.dbo.xp_CmdShell"命令以在本地创建文本文件时发生错误

SQL xp_cmdshell 在服务器之间复制文件