【问题标题】:Connecting django-mssql to mssql server (azure)将 django-mssql 连接到 mssql 服务器(天蓝色)
【发布时间】:2018-10-09 21:16:54
【问题描述】:

我对 python 比较陌生,对 django 也很陌生。

我正在尝试使用 django 连接到 MSSQL 服务器。我安装了django-mssql(可能需要放在项目目录的某个地方?)。

但是,在我的 settings.py 中使用以下内容时,我收到错误:'sqlserver_ado' isn't an available database backend

'default':{
        'ENGINE': 'sqlserver_ado',
        'NAME': 'db_name',
        'USER': 'usr',
        'PASSWORD': 'pwd',
        'HOST': 'host.cloudapp.azure.com',
    }

我进行了广泛搜索以尝试解决此问题,但其他解决方案似乎被隐藏或可能已过时 (here)。我正在使用 Mac。任何帮助和或指导将不胜感激!

【问题讨论】:

    标签: python sql-server django


    【解决方案1】:

    该包没有被维护,这是要使用的较新版本:

    https://pypi.org/project/django-pyodbc-azure/

    pip install django-pyodbc-azure
    

    然后将其用于您的引擎:

    'ENGINE': 'sql_server.pyodbc'
    

    它还提到 Azure 主机的格式如下:

    字符串。 “服务器\实例”中的 SQL Server 实例(本地)或 “server.database.windows.net”(Azure SQL 数据库)格式。

    【讨论】:

    • 抱歉,更改只是问题中的拼写错误,而不是实际问题。我改变了问题以反映这一点。仍然无法找到数据库
    • 我非常怀疑你的主机名是通用的。对于 SQL Server,它是您的实例的名称,对于 AWS,它是您的特定 RDS 主机的名称。它不是那种通用的 Azure 域。
    • 另外,文档说它支持 MSSQL 2012,但没有提到 Azure:bitbucket.org/Manfre/django-mssql
    • 我的主机名不是那么通用,我只是屏蔽了它。我已经通过 python 和 pymssql 多次成功连接到数据库,但不是通过 django。也许它只是不支持天蓝色!还有其他的连接解决方​​案吗?我已经看到使用 sql_server.pyodbc 的连接,但也无法使其正常工作。
    • 阅读我在答案中的链接并阅读所有对 Django/Python 版本的依赖。
    【解决方案2】:

    您必须在项目设置中修改您的 DATABASES dict

    DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', 
        'NAME': 'db_name',
        'USER': 'usr',
        'PASSWORD': 'pwd',
        'HOST': 'host.cloudapp.azure.com',
        'PORT': 'your_port',
    }
    

    【讨论】:

    • 如果我使用django.db.backends 是不是只是到达django 的后端框架而不是我试图到达的第三方azure 服务器??
    猜你喜欢
    • 1970-01-01
    • 2017-09-11
    • 1970-01-01
    • 2014-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-24
    相关资源
    最近更新 更多