7

我正在尝试将我的 Django 应用程序连接到 apache 服务器上的 microsoft sql 数据库,但我收到以下错误消息:

django.core.exceptions.ImproperlyConfigured: 'sql_server.pyodbc' isn't an available database backend.
Try using 'django.db.backends.XXX', where XXX is one of:
'mysql', 'oracle', 'postgresql', 'sqlite3'

我已经安装了 django-pyodbc-azure 并且它显示为(点冻结列表)的一部分:

Django==2.1
django-pyodbc==1.1.3
django-pyodbc-azure==2.1.0.0
pyodbc==4.0.25

这是 settings.py 数据库配置:

'default': {
    'ENGINE': 'sql_server.pyodbc',
    'NAME': 'name',
    'USER': 'user',
    'PASSWORD': 'password',
    'HOST': 'host',
    'PORT': '',

    'OPTIONS': {
        'driver': 'ODBC Driver 17 for SQL Server',
    },

},

在 site-packages 文件夹中,它不显示实际的 django-pyodbc-azure 文件夹,但是当我运行命令(pip show django-pyodbc-azure)时,它会显示包位置(/usr/local/lib/python3. 5/dist-packages) 这意味着它已成功安装。

所以我不确定是什么问题。

4

2 回答 2

4

我有同样的问题。不知何故,天蓝色后端的安装搞砸了我的项目。

我删除了 django-pyodbc-azure 和 django-mssql-backend 包,因为它们只支持较旧的 django 版本。之后我从https://github.com/microsoft/mssql-django安装了 mssql 后端

pip uninstall django-pyodbc-azure
pip uninstall django-mssql-backend
pip install mssql-django

然后我将数据库配置为使用'ENGINE': 'mssql'

在此之后,我能够使用 Django 3.2 连接到我们的 MSSQL DB!

于 2021-08-31T12:23:40.260 回答
2

尝试安装pip install django-pyodbc-azure

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

我遇到了同样的问题,并且使用它有效。

DATABASES = {
    'default': {
        'ENGINE': 'sql_server.pyodbc',
        'NAME': 'Name_database',
        'USER': 'User',
        'PASSWORD': 'Password',
        'HOST': 'IP',
        'PORT': '1433',
        'OPTIONS': {
            'driver': 'ODBC Driver 17 for SQL Server',
        },
    }
}
于 2019-12-03T19:05:18.530 回答