pyodb c .OperationalError: SQL Сервер не существует или доступ запрещен. (17) (SQLDriverConnect); [08001] ODB C SQL Драйвер сервера] [ - PullRequest
0 голосов
/ 01 февраля 2020

Я искал в Интернете весь день, пробовал много решений, но ни одно не работает Я могу вручную подключиться к этому серверу, но не с Python Я получаю эту ошибку:

pyodb c .OperationalError: ('08001', '[08001] [Microsoft] [ODB C SQL Драйвер сервера] [DBNETLIB] SQL Сервер не существует или доступ запрещен. (17) (SQLDriverConnect); [08001] [Microsoft] [ODB C SQL Драйвер сервера] [DBNETLIB] ConnectionOpen ( Connect ()). (5); [08001] [Microsoft] [ODB C SQL Драйвер сервера] Неверный атрибут строки подключения (0) ')

Я пробовал следующее:

  • A)

    cnx = pyodbc.connect(Driver='{SQL Server}',
                         SERVER=self.DBserver,
                         DATABASE=xyz,
                         username=self.DBusername,
                         password=self.DBpassword,
                         PORT = 1433)
    
  • B)

    cnx = pyodbc.connect('''Driver={SQL Server}; 
                         SERVER=tcp:<self.DBserver>; 
                         PORT=self.DBPort; DATABASE=xyz; 
                         UID=self.DBusername; 
                         PWD=self.DBpassword''')
    
  • C)

    cnx = = pyodbc.connect(Driver='{SQL Server}',
                           SERVER=self.DBserver,
                           DATABASE=xyz,
                           UID=self.DBusername,
                           PWD=self.DBpassword)
    

Ответы [ 2 ]

0 голосов
/ 04 февраля 2020

Спасибо всем, проблема была с брандмауэром. сейчас работает

0 голосов
/ 01 февраля 2020

Полагаю, вам нужно что-то похожее на это:

cnx = pyodbc.connect('DRIVER={SQL Server};SERVER='+self.DBserver+';DATABASE=xyz;UID='+self.DBusername+';PWD='+self.DBpassword)
...