[MacOS 10.14上的pyodbc连接到SQL Server,由于cron作业失败

问题描述 投票:0回答:1

我有一个在MacOS 10.14上运行的python3脚本,该脚本使用pyodbc连接到SQL Server数据库。当我手动运行它时,它可以正常工作,但是当我使用crontab计划它时,出现此错误:

'DRIVER=/usr/local/lib/libmsodbcsql.17.dylib;' pyodbc.Error: ('HY000','[HY000] [Microsoft][ODBC Driver 17 for SQL Server]SSPI Provider:  No credentials were supplied, or the credentials were unavailable or inaccessible. (458752) (SQLDriverConnect)')

我以托管用户身份运行,通过AD连接,并且我的帐户有权使用这些凭据访问数据库。

这是python:

#!/usr/bin/env python

import pyodbc

conn = pyodbc.connect(
  'DRIVER=/usr/local/lib/libmsodbcsql.17.dylib;'
  'SERVER=[SERVER NAME];'
  'DATABASE=[DATABASE];'
  'Trusted_Connection=yes;'
)

cursor = conn.cursor()
cursor.execute("SELECT * FROM [TABLE]")

当然具有适当的服务器,数据库和表。

我认为这与托管用户和cron用户之间的细微差别有关,但是我不知道如何解决该问题。出于安全原因,为该服务器创建SQL管理帐户将是初学者。

python sql-server cron pyodbc
1个回答
0
投票

错误消息告诉您您需要凭据。在pyodbc.connect字符串参数中添加UID = username; PWD = password,例如,

pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password)

推荐问答