繁体   English   中英

通过 Python pyodbc 连接到 SQL 服务器时出现问题

[英]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 驱动程序,如下面的链接所示

https://docs.microsoft.com/en-us/sql/connect/odbc/windows/system-requirements-installation-and-driver-files?view=sql-server-ver15#installing-microsoft-odbc-driver- for-sql-服务器

谢谢!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM