Microsoft Azure Django SQL连接w / ADO.NET

时间:2017-01-23 20:13:00

标签: python sql-server django azure

我目前正在按照本教程构建一个使用Azure SQL数据库的Django Web应用程序:https://docs.microsoft.com/en-us/azure/app-service-web/web-sites-python-ptvs-django-sql

我正在“配置项目”的步骤,我应该在settings.py中粘贴连接字符串。 (我正在使用Visual Studio,使用Python工具)。字符串采用以下格式:

Server=<ServerName>,<ServerPort>;Database=<DatabaseName>;User ID=<UserName>;Password={your_password_here};Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;

但是,当我尝试进行Django迁移时,语法错误无效。

  • 当我从Azure复制ADO.NET字符串时,服务器名称前面有“tcp:”,即tcp:myserver.database.windows.net,我应该包含“tcp:”吗?这似乎是在触发错误。
  • 参数标题中的空格(如“用户ID”和“连接超时”)是否会导致错误?

使用Django / Azure SQL非常新,所以任何帮助都会受到赞赏。

1 个答案:

答案 0 :(得分:0)

在Azure门户上,您可以获取SQL数据库的连接字符串,如下图所示。

enter image description here

对于Python中的Django /其他框架,您需要复制OBDC的连接字符串,如下所示。

  

Driver = {SQL Server的ODBC驱动程序13}; Server = tcp:&lt; server-host-name&gt; .database.windows.net,1433; Database = &lt; db -name&GT; ; UID = <强>&lt;使用者&GT; @&LT;服务器主机名称&gt;&GT; ; PWD = <强>&LT; your_password_here&GT; ;加密=是; TrustServerCertificate = no;连接超时= 30;

如果在VS中使用PTVS在Python中开发Django App,首先要在pyodbc文件中添加所需的包requirements.txt。您可以参考the section Managing Required Packages of PTVS wiki page了解如何操作。

然后,您需要通过添加上面ODBC连接字符串中的连接信息来配置Django Web项目的settings.py文件,如下所示。

DATABASES = {
    'default': {
        'ENGINE': 'sql_server.pyodbc',
        'NAME': '<db-name>',
        'USER': '<user>',
        'PASSWORD': '<your_password_here>',
        'HOST': '<server-host-name>',
        'PORT': '1433',
        'OPTIONS': {
            'driver': 'ODBC Driver 13 for SQL Server',
            'MARS_Connection': 'True',
        }
    }
}

以上所有这些都在the section Configure the Project of the tutorial中介绍。 Django的这些连接配置信息与ADO.NET连接字符串中的相同。

希望它有所帮助。如有任何疑虑,请随时告诉我。