У меня есть скрипт python3, который я запускаю на MacOS 10.14, который подключается к базе данных SQL Server с помощью pyodbc.Когда я запускаю его вручную, он работает нормально, но когда я планирую его с помощью 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, и моя учетная запись имеет разрешение наполучить доступ к базе данных, используя эти учетные данные.
Это питон:
#!/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 учетную запись для этого сервера.