Пожалуйста, убедитесь, что вы создали SQL логин с разрешением для подключения к базе данных, потому что "localhost" может быть недопустимым логином. Вы можете попытаться создать пользователя автономной базы данных, как показано ниже, и использовать тот логин для подключения к базе данных. Вы создали этот логин с именем localhost?
CREATE USER yourlogin WITH PASSWORD = 'Yh-EhGFjh+';
GO
exec sp_addRoleMember 'db_datareader', 'yourlogin';
GO
Убедитесь, что вы создали правило брандмауэра, как описано в этой документации, а также правильное имя сервера и базы данных (вы не ошиблись их).
Вы также должны убедиться, что вы установили рекомендуемый драйвер Python из здесь .
Используя этот драйвер, попробуйте следующие строки кода.
import pyodbc
server = 'mftaccountinghost.database.windows.net'
database = 'mft_accounting'
username ='TheLoginYouCreatedAbove'
password = '****'
driver= '{ODBC Driver 17 for SQL Server}'
cnxn = pyodbc.connect('DRIVER='+driver+
';SERVER='+server+
';PORT=1433;DATABASE='+database+
';UID='+username+
';PWD='+ password)
cursor = cnxn.cursor()
cursor.execute("SELECT * FROM dbo.error_bills_catch")
row = cursor.fetchone()
while row:
print (str(row[0]) + " " + str(row[1]))
row = cursor.fetchone()