Pyodb c: время ожидания входа истекло - PullRequest
0 голосов
/ 21 июня 2020

Я пытаюсь подключиться к MS SQL Server, используя pyodb c в локальной системе, и при подключении к экземпляру я получаю сообщение об ошибке:

[2020-06-21 15:39:04.110750]: ('08001', '[08001] [Microsoft][ODBC Driver 13 for SQL Server]SQL Server Network Interfaces: Error Locating Server/Instance Specified [xFFFFFFFF].  (-1) (SQLDriverConnect); [08001] [Microsoft][ODBC Driver 13 for SQL Server]Login timeout expired (0); [08001] [Microsoft][ODBC Driver 13 for SQL Server]A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online. (-1)')

Мой SQL Сервер Express 2005 и попробуйте с драйверами:

  • {ODB C Driver 13 для SQL Server}
  • {ODB C Driver 17 для SQL Server}
  • {SQL Native Client}

Я тестирую в sqlcmd с помощью этой команды:

C:\Users\Moein>sqlcmd -S '.\Moein' -U 'sa' -P 'xxxx'
HResult 0xFFFFFFFF, Level 16, State 1
SQL Network Interfaces: Error Locating Server/Instance Specified [xFFFFFFFF].
Sqlcmd: Error: Microsoft SQL Native Client : An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections..
Sqlcmd: Error: Microsoft SQL Native Client : Login timeout expired.

Мой код:

import pyodbc

conn = pyodbc.connect(f'DRIVER={SQL Native Client};SERVER=.\Moein;DATABASE=Moein;UID=sa;PWD=xxxx',autocommit=True)
cursor = conn.cursor()

Подробнее:

  • Тест -l 600 переключатель для тайм-аута входа больше в sqlcmd> не получен ответ
  • Тест computername\instance и 127.0.0.1\instance> Не изменено
  • Попробуйте полную переустановку sql сервер на локальном> с учетом изменений

1 Ответ

0 голосов
/ 22 июня 2020

я обнаружил свою проблему

я использую эту строку подключения в режиме конвейера:

conn = pyodbc.connect('DRIVER={ODBC Driver 13 for SQL Server};ServerName=Provider=SQLOLEDB.1;SERVER=.\testsv;DATABASE=test;Persist Security Info=False;UID=sa;PWD=xxxxx;Data Source=np:\\.\pipe\MSSQL$testsv\sql\query',autocommit=True)
...