【发布时间】:2021-04-22 05:30:22
【问题描述】:
我一直在使用本指南通过 pyodbc 连接到数据库:https://github.com/mkleehammer/pyodbc/wiki/Connecting-to-SQL-Server-from-Mac-OSX
我的配置文件看起来像这样,与教程并行: 在 freetds.conf 中:
[MYMSSQL]
host = localhost
port = 1433
tds version = 7.3
在 odbc.ini 中:
[MYMSSQL]
Description = Testing SQLServer
Driver = FreeTDS
Servername = MYMSSQL
在 odbcinst.ini 中:
[FreeTDS]
Description=FreeTDS Driver for Linux & MSSQL
Driver=/usr/local/lib/libtdsodbc.so
Setup=/usr/local/lib/libtdsodbc.so
UsageCount=1
当我使用“tsql -S MYMSSQL -U myuser -P mypassword”测试连接时,出现错误:
Error 20002 (severity 9):
Adaptive Server connection failed
There was a problem connecting to the server
同样,“isql MYMSSQL myuser mypassword”也会返回错误:
[ISQL]ERROR: Could not SQLConnect
编辑:在查询控制台中:
“SELECT @@SERVERNAME”返回“4a70ffff1294”
“SELECT @@SERVICENAME”返回“MSSQLSERVER”
“SELECT @@VERSION”返回“Microsoft SQL Server 2019 (RTM-CU8) (KB4577194) - 15.0.4073.23 (X64)”
tsql -S MYMSSQL
返回
locale is "en_US.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
Error 20002 (severity 9):
Adaptive Server connection failed
There was a problem connecting to the server
服务器在 docker 镜像中运行。我可以通过 pycharm 的数据库工具使用 1433 端口和相关密码连接到它。可悲的是,我在管理服务器方面不是很有经验。非常感谢所有帮助。
【问题讨论】:
-
您尝试连接到哪个版本的 SQL Server? TDS 7.3 版仅与不再受支持的 SQL Server 2008 相关。对于 SQL Server 2012 及更高版本,您可能希望至少使用 TDS 7.4 版。
-
TDS 7.1、7.2、7.3 和 7.4 将适用于 SQL Server 2008+,只是不具备所有最新功能。他的 FreeTDS 版本可能不支持 7.4。
-
"SELECT @@VERSION" 查询控制台上的命令返回“Microsoft SQL Server 2019 (RTM-CU8) (KB4577194) - 15.0.4073.23 (X64) Sep 23 2020 16:03:08 Copyright ( C) 2019 Microsoft Corporation Developer Edition (64-bit) on Linux (Ubuntu 18.04.5 LTS)
"
标签: sql-server macos pyodbc freetds