pyodbc.OperationalError: ('HYT00', u '[HYT00] [unixODBC] [Microsoft] [Драйвер ODBC 13 для SQL Server] Истекло время ожидания входа (0) (SQLDriverConnect)') - PullRequest
0 голосов
/ 07 января 2019

Используя SQL Server Management Studio (SSMS) Express, я могу найти базу данных и без проблем подключиться.

Но когда я использую pyodbc для подключения к тому же серверу, используя:

    import pyodbc
    Server = r"xxxER\xxxSQLSERV"
    db = "xxxDB"
    user = "xxx"
    password = "xxxx"
    conn = pyodbc.connect('DRIVER={SQL Server};SERVER='+server + ';DATABASE=' + db +';UID=' + user + ';PWD=' + password)

Используя Pyhton в моем локальном компьютере, я могу подключиться, но когда я пытаюсь на сервере Linux получить ошибку ниже

pyodbc.OperationalError: ('HYT00', u'[HYT00] [unixODBC][Microsoft][ODBC Driver 13 for SQL Server]Login timeout expired (0) (SQLDriverConnect)')

Я тоже пытался с ODBC Driver 17 для SQL Server, но столкнулся с той же проблемой. Может ли кто-нибудь предложить мне это.

Ответы [ 2 ]

0 голосов
/ 12 апреля 2019

Попробуйте удалить экземпляр с сервера и установите его как

Server = "xxxER"

или если у вас есть номер порта, добавьте его как

Server = "xxxER,portNo"

0 голосов
/ 07 января 2019

Драйверы Microsoft ODBC для SQL Server для Linux не могут разрешать имена экземпляров. Вы можете использовать бесплатный модуль sqlserverport , чтобы получить соответствующий номер порта и использовать его для подключения.

...