通过Python pyodbc连接到SQL Server的问题

o7jaxewo  于 2023-05-21  发布在  Python
关注(0)|答案(1)|浏览(205)

我有一个持续的问题,我只是不能解决。它涉及将数据加载到SQL Server数据库的Python脚本。

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 Server Driver][DBNETLIB]SSL安全错误(18)(SQLDriverConnect);[08001] [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen(SECCreateCredentials())。(1)')

这是在本地和服务器上使用相同的用户帐户。有人能帮忙吗?
如果这看起来像是一个重复的问题,我很抱歉,我在StackOverFlow上读过许多类似的问题,但没有一个解决方案有帮助。我知道代码很好,因为它在本地运行正常,但我就是不能让它从服务器上运行。
任何建议将非常感谢。
谢谢

cld4siwp

cld4siwp1#

我也遇到了它一段时间回来,并做了以下工作,请尝试,让我知道:
编辑/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};

另外请注意,您可能需要下载并安装windows odbc驱动程序,如下面的链接所示
https://learn.microsoft.com/en-us/sql/connect/odbc/windows/system-requirements-installation-and-driver-files?view=sql-server-ver15#installing-microsoft-odbc-driver-for-sql-server
谢谢!

相关问题