Ошибка входа в систему (pyodbc.Ошибка интерфейса) (‘28000’, «[28000] [ Microsoft] [Драйвер ODBC SQL Server] [SQL Server] Ошибка входа в систему для пользователя ‘xxxx’

#python #azure #connection

#python #azure #подключение

Вопрос:

У меня большие проблемы с подключением к серверу sql с помощью python 3.8. Интересно, нужно ли мне перейти на python 3.7 и есть ли что-то еще, что я делаю неправильно?

ВОТ МОЙ КОД И СООБЩЕНИЕ ОБ ОШИБКЕ:

 params = urllib.parse.quote_plus 
('Driver={SQL 
Server};Server=tcp:xxxxx.database.windows.net,1433; 
Database=GroceryDB;Uid=xxxxx;Pwd= 
{xxxx};Encrypt=no;Connection Timeout=30;')

conn_str = 'mssql pyodbc:///?odbc_connect={}'.format(params)
engine = 
sqlalchemy.engine.create_engine(conn_str,echo=False,pool_pre_ 
ping=True)
 

Ошибка входа в систему (pyodbc.Ошибка интерфейса) (‘28000’, «[28000] [ Microsoft] [Драйвер ODBC SQL Server] [SQL Server] Не удалось войти в систему для пользователя ‘xxxx’.

Комментарии:

1. Я обновил свой ответ, вы можете переустановить драйвер odbc от имени администратора или использовать другой компьютер.

Ответ №1:

Самые новые

Вы можете следовать документу (откройте администратор источника данных ODBC), чтобы проверить, успешно ли установлен драйвер odbc.

введите описание изображения здесь

ТАЙНЫЙ

Приведенный ниже код работает для меня.

 from urllib import parse
import pyodbc
from sqlalchemy import create_engine
import urllib

params = parse.quote_plus 
(r'Driver={ODBC Driver 17 for SQL Server};Server=tcp:yoursqlserver.database.windows.net,1433;Database=dbname;Uid=sasasa;Pwd={pwd};Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30;')

conn_str="mssql pyodbc:///?odbc_connect={}".format(params)

engine= create_engine (conn_str,echo=True)

connection = engine.connect()
result = connection.execute("select 1 1 as res")
for row in result:
print("res:", row['res'])
connection.close()
 

введите описание изображения здесь

Комментарии:

1. Привет! Я попробовал точно такой же код, которым вы поделились с моими собственными источниками, но я все еще получаю эту ошибку… Я не знаю, является ли ошибка моим драйвером или чем-то другим. [SQL Server]Ошибка входа в систему для пользователя ‘user’. (18456) (SQLDriverConnect); [28000] [Microsoft][Драйвер ODBC 17 для SQL Server] Недопустимый атрибут строки подключения (0);

2. @YaxumCedeno Я полагаю, вы должны протестировать на своем локальном компьютере, верно?

3. @YaxumCedeno Вы должны установить драйвер на свой локальный компьютер.

4. @YaxumCedeno Если вы развернете свой код как webjobs или другие, ошибка исчезнет.

5. Я успешно загрузил драйвер с веб-сайта Microsoft с версией 17. Но как мне проверить, все ли в порядке?