我尝试使用django-pyodbc-azure将django连接到Azure数据库,并确保我在setting.py中的设置是正确的。但仍然遇到了这个问题。我听说这可能是由一些身份验证问题引起的,但不知道如何解决这个问题。
django.db.utils.Error:('28000',“[28000] [Microsoft] [ODBC SQL Server驱动程序] [SQL Server]用户'USERNAME'登录失败。(18456)(SQLDriverConnect)”)< / p>
DATABASES = {
'default': {
'ENGINE': 'sql_server.pyodbc',
'NAME': 'SERVER_NAME',
'USER': 'USERNAME',
'PASSWORD': 'PASSWORD',
'HOST': 'SERVER_NAME.database.windows.net',
'PORT': '',
}
}
答案 0 :(得分:0)
@HansongLi,Azure SQL数据库的连接字符串采用此格式Server=<ServerName>,<ServerPort>;Database=<DatabaseName>;UiD=<UserName>;Password={your_password_here};Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;
。
相应地,数据库配置定义如下,请参阅文章here。
DATABASES = {
'default': {
'ENGINE': 'sql_server.pyodbc',
'NAME': '<DatabaseName>',
'USER': '<UserName>',
'PASSWORD': '{your_password_here}',
'HOST': '<ServerName>',
'PORT': '<ServerPort>',
'OPTIONS': {
'driver': 'SQL Server Native Client 11.0',
'MARS_Connection': 'True',
}
}
}
同时,如果主机<UserName>
与<name>@<sql-azure-name>
类似,则<ServerName>
的格式应为tcp:<sql-azure-name>.database.windows.net
。
您可以在Azure门户网站上找到连接字符串。
或者在Azure经典门户的标签DASHBOARD
。