Gun*_*una 7 python sql-server odbc pyodbc
我正在尝试使用 pyodbc 通过以下 python 脚本从我的笔记本电脑(在 Windows 10 上)连接到 MS SQL Server 2016 上的数据库,并计划将代码部署在 Linux RHEL 6.4 服务器中。
conn=pyodbc.connect('Driver={SQL Server};'
'Server=DB_Instance;'
'Database=DB_Name;'
'UID=user_name;'
'PWD=password;'
'Trusted_Connection=no;');
Run Code Online (Sandbox Code Playgroud)
在我的笔记本电脑上,SQL Server(版本:10.00.17763.01)和SQL Server Native Client 11.0(版本:2011.110.7493.04)已经可用。
从我的笔记本电脑执行 python 脚本时,我收到以下错误消息。
pyodbc.operationalError: ('08001', '[08001] [Microsoft] [ODBC SQL Server 驱动程序][DBNETLIB]SSL 安全错误 (18) (SQLDriverConnect); [08001] [Microsoft] [ODBC SQL Server 驱动程序][DBNETLIB] ConnectionOpen (SECDoClientHandshake())。(772)')
根据组织标准,在网络中安装 SQL Server 的 Windows 服务器上禁用 TLS 1.0。由于我通过 python 脚本访问数据库,因此我们无法暂时启用 TLS 1.0。我正在寻找一个方向。任何帮助是极大的赞赏!!
戈德·汤普森在评论中为古纳指明了正确的方向:
\n\n\n您可以尝试使用 SQL Server 的 ODBC 驱动程序 17 并看看它是否适合您?
\n\xe2\x80\x93 戈德·汤普森
\n
古纳说这有效:
\n\n\n我面临着不同的错误。除了服务器名称之外,添加端口号后,问题得到解决。ODBC 驱动程序名称也需要更新。conn=pyodbc.connect('驱动程序={用于 SQL Server 的 ODBC 驱动程序 17};' '服务器=DB_Instance,端口;' '数据库=DB_Name;' 'UID=用户名;' 'PWD=密码;' 'Trusted_Connection=no; ');
\n\xe2\x80\x93 古纳
\n
将其发布为社区 Wiki,以便任何搜索者都可以快速看到它已得到解答。
\n