У меня есть удаленная SQL серверная база данных, к которой я пытаюсь подключиться с локального хоста (ОС Ma c).
Я уже установил драйвер Microsoft ODB C 17 для SQL Сервер ':
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
соединение с pyodb c:
# 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>
Есть идеи, что не так с моей настройкой?