sql-server - 无法在 mac os 上使用 pyodbc 连接到 SQL Server
问题描述
我有一个远程 SQL Server 数据库,我正在尝试从本地主机(Mac OS)连接。
我已经安装了“Microsoft ODBC driver 17 for SQL Server”:
brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release
brew update
HOMEBREW_NO_ENV_FILTERING=1 ACCEPT_EULA=Y brew install msodbcsql17 mssql-tools
然后验证安装的驱动程序:
>>> import pyodbc
>>> pyodbc.drivers()
['ODBC Driver 17 for SQL Server']
odbcinst.ini:
[ODBC Driver 17 for SQL Server]
Description=Microsoft ODBC Driver 17 for SQL Server
Driver=/usr/local/lib/libmsodbcsql.17.dylib
UsageCount=1
与pyodbc的连接:
# I made a ssh tunnel, so the server is localhost with default 1433 port.
dsn = 'DRIVER={ODBC Driver 17 for SQL Server};Server=localhost;Database=MyDB;UID=MyUser;PWD=MyPass'
pyodbc.connect(dsn, autocommit=False)
# The following error appears:
pyodbc.OperationalError: ('HYT00', '[HYT00] [Microsoft][ODBC Driver 17 for SQL Server]Login timeout expired (0) (SQLDriverConnect)')
另外,我测试了与 T-SQL 的连接,一切都很好:
% tsql -H localhost -U MyUser -P MyPass -p 1433
locale is "C/UTF-8/C/C/C/C"
locale charset is "UTF-8"
using default charset "UTF-8"
1>
任何想法我的设置有什么问题?
解决方案
推荐阅读
- mysql - MySQL 使用 nodeJs 嵌套 Json 对象
- php - 使用 Laravel 显示 Flash 消息
- python-3.x - 如何在 PONG 游戏中更新分数
- html - iframe 不会嵌入 YouTube 频道的最新视频 (HTML)
- progressive-web-apps - 如何在 PWA 项目中使用 indexedDB 在应用程序之间共享数据
- mysql - Mysql - 获取同一表中的行交集
- javascript - Create React App 是否提供开箱即用的 gzip 压缩?
- javascript - 在视口 JS 中显示了多少百分比的元素
- c# - Unity 3D - 通过单击鼠标摧毁游戏对象
- django - 防止在 django 中编辑其他用户的个人资料