#python #sql-server #pyodbc
#python #sql-сервер #pyodbc
Вопрос:
Я хочу подключиться к SQL Server с помощью PyODBC.
connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER=' server ';DATABASE=' database ';UID=' username ';PWD=' password)
username
Должно быть "MYCOMPANYusername"
так, я установил переменные username
следующим образом: username = "MYCOMPANY\username"
.
Проблема в том, что я получаю эту ошибку :
pyodbc.InterfaceError: ('28000', "[28000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Login failed for user 'MYCOMPANY\username'. (18456) (SQLDriverConnect); [28000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Login failed for user 'MYCOMPANY\username'. (18456)")
Я не понимаю, почему строка сохраняет «\».
Кто-нибудь может помочь мне с этим, пожалуйста?
Комментарии:
1. У переменной нет проблем, просто python пытается быть
helpful
и показывает вам, где ` находится в строке.2. Проблема в том, что вы пытаетесь использовать учетную запись AD как учетную запись проверки подлинности SQL; это не работает. Используйте либо логин для проверки подлинности SQL, либо доверенное соединение. Даже если Python отобразит
MYCOMPANYusername
реальную проблему, она не изменится. Вы не можете передать имя пользователя и пароль для рекламного аккаунта в строке подключения.
Ответ №1:
Затем вы можете использовать .encode
.decode
:
username.encode().decode('unicode_escape')