通过Python-pyodbc连接到SQL Server时出现问题



我有一个无法解决的问题。它涉及一个将数据加载到SQL服务器数据库中的Python脚本。

import pyodbc 
conn = pyodbc.connect(r'Driver={SQL Server};'
r'Server=tcp:MY-SRV-NAMEABC,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'驱动程序={SQL Server};'pyodbc。OperationalError:('08001','[08001][Microsoft][ODBC SQL Server Driver][DBNETLIB]SSL安全错误(18((SQLDriverConnect(;[08001][Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen(SECCreateCredentials(((。(1( '(

这是在本地使用相同的用户帐户&在服务器上。有人能帮忙吗?

很抱歉,如果这看起来像是一个重复的问题,我在StackOverFlow上读过很多听起来类似的问题,但没有一个解决方案有帮助。我知道代码很好,因为它在本地运行良好,但我就是无法从服务器上运行它。

如有任何建议,我们将不胜感激。

感谢

一段时间前我也遇到过这种情况,并做了以下事情,请尝试让我知道:

编辑/etc/ssl/openssl.cnf添加或进行以下更改,并让我知道。

MinProtocol = TLSv1.0
CipherString = DEFAULT@SECLEVEL=1

或者,如果是一台窗户机,可能是驱动程序问题,请将驱动程序更改为以下任意一种并检查

driver='{SQL Server Native Client 11.0}',  
or driver={ODBC Driver 17 for SQL Server};

还要注意,您可能需要下载&按照以下链接中的说明安装windowsodbc驱动程序

https://learn.microsoft.com/en-us/sql/connect/odbc/windows/system-requirements-installation-and-driver-files?view=sql-server-ver15#为sql server 安装microsoft odbc驱动程序

谢谢!

最新更新