我有一个 Python (3.7.2)
文件,它从第三方 API
提取数据,并将数据保存在本地 CSV
中在 Windows Server 2016
上创建文件,然后批量导入
到 SQL Server 2016
(13.0.4224.16) 的实例中。
如果我从提升的命令提示符手动运行脚本,这不会出现问题。但是,我不想手动运行此脚本,因为我希望它每小时执行一次。我知道如何从服务器操作系统上的任务计划程序
进行计划,但我想使用SQL Server代理
将其计划为自动化作业。这样我就可以直接使用 SSMS
管理/跟踪作业,而不必登录服务器本身来检查计划任务。
我当前有一个作业配置为 操作系统 (CmdExec)
类型的 1 个步骤,并且 Command:
设置为 "C:\Windows\System32\cmd.exe""python C:\PythonScripts\myPython.py"
:
我对上述内容的想法是,cmd.exe
将被打开并使用我提供的 python 路径调用 python.exe
程序。
但是,当我运行该作业时,它只是挂起进行中
状态并且永远不会完成。手动运行的脚本在 9 秒内成功完成:
这里有什么想法吗?
最佳答案
我能够通过添加凭据/proxy来解决我的问题帐户,将其分配给该步骤中的运行方式
,然后将命令
更改为如下所示:
C:\Windows\System32\cmd.exe/C python "C:\PythonScripts\myPython.py"
关于python - 如何在 SQL Server 代理作业中以管理员身份执行 Python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54680105/