У меня есть следующий код:pyodbc - какое имя пользователя/пароль передается здесь?
import pyodbc
cnxn = pyodbc.connect("DRIVER={SQL Server};"
+"SERVER=somesqlserver2008.example.com;"
+"DATABASE=exampledatabase;")
cursor = cnxn.cursor()
#do stuff...
Приведенный выше код работает просто отлично. У меня есть причина полагать, что этот код фактически передает некоторые формы учетных данных «за моей спиной» (так сказать). Например, этот код:
cnxn = pyodbc.connect("DRIVER={SQL Server};"
+"SERVER=someOTHERsqlserver2008.example.com;"
+"DATABASE=exampledatabase;")
cursor = cnxn.cursor()
возвращается:
Traceback (most recent call last):
File "C:\Users\<my username>\Documents\sql_connect_test1.py", line 27, in <module>
+"SERVER=someOTHERsqlserver2008.example.com;")
Error: ('28000', "[28000] [Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user '<user name appears here>'. (18456) (SQLDriverConnect); [28000] [Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user '<user name appears here>'. (18456)")
Даже если я не указано имя пользователя/пароль, то во второй строке подключения, представляется, что имя пользователя и пароль были использованы pyodbc , Как узнать, какое имя пользователя и пароль были использованы?
Хм ... Я на самом деле попробовал добавить '' UID =; PWD = ")' к первой строке соединения, но это не сработало. Когда я выхожу из строки подключения, он работает нормально. Не уверен, что происходит. –
SheerSt
Вы пробовали UID = имя пользователя Windows или UID = SQL auth login? Во всяком случае, это всего лишь общая догадка и предложение, у меня нет опыта работы с pyodbc. О чем говорят их документы? –
Да, я попробовал 'UID = <имя пользователя Windows>. Я не уверен, что вы подразумеваете под «SQL auth login». – SheerSt