Django:尝试连接到Azure数据库时登录失败错误

时间:2016-08-18 19:26:11

标签: python django azure

我尝试使用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': '',
}

}

1 个答案:

答案 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门户网站上找到连接字符串。

enter image description here

或者在Azure经典门户的标签DASHBOARD

enter image description here