python作为作业在SQL Server代理中运行时发生ModuleNotFoundError

2024-09-29 19:28:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我想做什么

{}作为脚本,我正在尝试导入一些SQL模块。你知道吗

背景

  • SQL Server位于不同的服务器上
  • 我已经用我的用户帐户(不是运行SQL代理作业的用户帐户:假设它是SQLUser)连接到服务器,并在服务器上安装了pyodbc(使用pip install pyodbc --user
  • 我已经检查了pip listpip3 listpip3.7 listpyodbc是否列在服务器的all中
  • 当我从命令提示符在服务器中运行脚本时,脚本运行良好

问题

当我运行作业时,它会显示以下错误消息:

Executed as user: DOMAIN\SQLUser. Traceback (most recent call last): File "PathToScript\script.py". line 1, in <module> import pyodbc ModuleNotFoundError: No module named 'pyodbc'. 

如何使用SQL Server代理运行此脚本,或者如何查找此问题的原因?你知道吗


Tags: 模块pip用户服务器脚本代理sqlserver
1条回答
网友
1楼 · 发布于 2024-09-29 19:28:18

当我通过SQLServer代理作业运行脚本时,无法运行该脚本,因为SQLServer服务帐户没有安装模块,并且没有人知道用户的密码。你知道吗

因此,我将以下代码作为SQL代理作业运行,并且可以直接为服务帐户安装模块。你知道吗

subprocess.check_call(["python", '-m' 'pip', 'install', 'pyodbc', ' user'])

相关问题 更多 >

    热门问题