2016-08-18 7 views
0

django-pyodbc-azureを使用してdjangoをAzureデータベースに接続しようとしましたが、設定が正しいことを確認しました。しかし、まだこの問題があります。これはいくつかの認証問題が原因で発生する可能性があると聞きましたが、これを解決する方法がわかりません。Django:Azureデータベースに接続しようとしたときにログインに失敗しました

django.db.utils.Error: ('28000', "[28000] [Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user 'USERNAME'. (18456) (SQLDriverConnect)")

DATABASES = { 
'default': { 
    'ENGINE': 'sql_server.pyodbc', 
    'NAME': 'SERVER_NAME', 
    'USER': 'USERNAME', 
    'PASSWORD': 'PASSWORD', 
    'HOST': 'SERVER_NAME.database.windows.net', 
    'PORT': '', 
} 

}

+0

ユーザー名にはどのような形式を使用しましたか?ユーザー名にサーバー名を含めましたか? –

+0

@DavidMakogon @ SERVER_NAMEのmy_login_email @ gmail.comを使用していました。また、ユーザー[email protected]のログインに失敗したことがわかります –

+0

有効なユーザー名(SQLデータベースのユーザー名として電子メールアドレスを持っています)のようには見えません –

答えて

0

@HansongLi、AzureのSQLデータベースの接続文字列は、この形式Server=<ServerName>,<ServerPort>;Database=<DatabaseName>;UiD=<UserName>;Password={your_password_here};Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;です。

これに対応して、データベース構成は以下のように定義されます。hereを参照してください。ホスト<ServerName>このtcp:<sql-azure-name>.database.windows.netようなものである場合

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>であるべきです。

Azureポータルで接続文字列を見つけることができます。

enter image description here

またはAzureの古典的なポータルのタブDASHBOARDで。

enter image description here

関連する問題