sql - SQL Server 的命令行执行未找到 CMD 变量
问题描述
我正在尝试让 SQL Server 代理作业在命令行中执行以下代码。它将变量设置为 SQL Server 实例的服务器名称,以便它可以访问 UNC 路径并运行可执行文件。当我通过 RDP 在命令行中在服务器上运行它时,可以找到这条单数行,但在 SQL Server 中作为操作系统(CmdExec)类型运行时会失败。该行是:
FOR /F "usebackq" %i IN (`hostname`) DO SET _exeCall=\\%i\test\test1.exe && %_exeCall%
日志的结果是:
C:\Windows\system32>SET _exeCall=\\testbox\test\test1.exe && _exeCall
'%_exeCall%' is not recognized as an internal or external command,
operable program or batch file.
这台机器的标题是正确的testbox,路径和可执行文件都正确,但它似乎不明白它应该在执行变量_exeCall。这在服务器上以命令行方式执行时可以正常工作,但不能通过 SQL Server 的命令行工具执行。
解决方案
推荐阅读
- java - 为什么我在尝试发送帖子请求时得到空值?
- excel - Excel VBA 错误取决于列的过滤方式
- python - 如何区分 Pandas DataFrame 中的面板数据
- c++ - 纹理未居中
- angular - Angular 10:POST 请求不考虑“content-Type”的更改值:抛出 401 错误
- android - Flutter Android FCM - 几天后未调用后台处理程序
- wordpress - 我无法访问 wp url 参数
- c# - Xamarin 错误:无法将类型“MasterDetail.G2.Main”隐式转换为“Xamarin.Forms.Page”
- html - Quilljs:有没有办法阻止人们将 iframe 发布到 nodejs 服务器?
- delphi - 以编程方式将新 wordlist.txt 添加到 SAPI 字典