[英]Issue connecting to SQL Server via Python pyodbc
我有一个我无法解决的持续问题。 它涉及一个 Python 脚本,该脚本将数据加载到 SQL 服务器数据库中。
import pyodbc
conn = pyodbc.connect(r'Driver={SQL Server};'
r'Server=tcp:MY-SRV-NAME\ABC,49133;'
r'Database=MyDatabase;'
r'Trusted_Connection=yes;')
cursor = conn.cursor()
cursor.execute('SELECT coalesce(max(NextDate),?) FROM [dbo].[TableName]',b)
当我从本地计算机运行它时,它工作正常,但是当我从服务器运行相同的脚本时,我收到以下错误:
conn = pyodbc.connect(r'Driver={SQL Server};' pyodbc.OperationalError: ('08001', '[08001] [Microsoft][ODBC SQL 服务器驱动程序][DBNETLIB]SSL 安全错误 (18) (SQLDriverConnect) ; [08001] [Microsoft][ODBC SQL 服务器驱动程序][DBNETLIB]ConnectionOpen (SECCreateCredentials()).(1)')
这是在本地和服务器上使用相同的用户帐户。 任何人都可以帮忙吗?
如果这看起来像一个重复的问题,我深表歉意,我已经阅读了 StackOverFlow 上许多类似的听起来问题,但没有一个解决方案有帮助。 我知道代码很好,因为它在本地运行正常,但我无法从服务器运行它。
任何建议将不胜感激。
谢谢
一段时间前我也遇到过它并做了以下事情,请尝试让我知道:
编辑 /etc/ssl/openssl.cnf 添加或进行以下更改并让我知道。
MinProtocol = TLSv1.0
CipherString = DEFAULT@SECLEVEL=1
或者如果它是 window 机器,则可能是驱动程序问题,请将驱动程序更改为以下任何一项并检查
driver='{SQL Server Native Client 11.0}',
or driver={ODBC Driver 17 for SQL Server};
另请注意,您可能需要下载并安装 windows odbc 驱动程序,如下面的链接所示
谢谢!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.