python - 如何在 SQL Server 代理作业中以管理员身份执行 Python 脚本

标签 python sql sql-server tsql

我有一个 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":

enter image description here

我对上述内容的想法是,cmd.exe 将被打开并使用我提供的 python 路径调用 python.exe 程序。

但是,当我运行该作业时,它只是挂起进行中状态并且永远不会完成。手动运行的脚本在 9 秒内成功完成:

enter image description here

这里有什么想法吗?

最佳答案

我能够通过添加凭据/proxy来解决我的问题帐户,将其分配给该步骤中的运行方式,然后将命令更改为如下所示:

C:\Windows\System32\cmd.exe/C python "C:\PythonScripts\myPython.py"

关于python - 如何在 SQL Server 代理作业中以管理员身份执行 Python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54680105/

相关文章:

.net - Entity Framework 4 : Eager Loading (Include) with filters using Self Tracking Entities

sql - 关于SQL Server中的动态SQL,使用动态SQL时不会检查权限

python - 来自顶点数组的 3D 对象

python - VPython 7 纹理未从自定义目录加载

mysql - 通过 mysql 存储过程的 'where clause' 中的未知列

python - SQLAlchemy 从 TypeDecorator 获取原始 SQL 值

c# - 在存储过程中将 nvarchar 数据类型转换为 datetime 数据类型

python - 如何使用 github 操作发布 pip 轮子

python - 在列表中存储文件使用 10 倍内存作为文件大小

尝试添加约束时出现 mysql 错误 #1452