无法从当前版本的DJango和Python连接到SQL Server 2012

问题描述 投票:0回答:1

我正在尝试使用SQL server 2012Pyodbc框架连接到Django

Django的版本是2.1。现在,当我尝试使用下面的代码连接时,我只安装了Pyodbc,然后下面的代码不会运行。

DATABASES = {
    'default': {
        # 'ENGINE': '{ODBC Driver 11 for SQL Server}', Tried this as well but it did not work.
        'ENGINE': 'sql_server.pyodbc',
        'NAME': 'MY_DATABASE',
        # 'HOST': 'XXX.XX.XXX.XXX', Tried this as well but it did not work.
        'SERVER': 'XXX.XX.XXX.XXX',
        # 'HOST': 'SQLSERVER_InstanceName',
        'PORT': '',
        'USER': 'SQLSERVERUSER',
        'PASSWORD': 'USERs PASSWORD',
        'DATABASE': 'MY_DATABASE',
        # 'Trusted_Connection': 'Yes',
        # 'OPTIONS': {
        #             'driver': 'ODBC Driver 11 for SQL Server',
        #            }
    },
}

但是当我安装django-pyodbc-azure并尝试通过运行python manage.py inspectdb命令来运行上面的代码时,它可以工作。但使用django-pyodbc-azure的问题在于它将当前版本的django降级为2.0.8 - 这是我不想要的。

我不想使用FreeTDSPymssql;我只想和pyodbc一起去。

有人可以为此提出一些建议吗?

django python-3.x
1个回答
1
投票

截至今天,django-pyodbc-azure支持Django 2.1。以下是我的配置。

python virtual environment for django-odbc-azure

这是我用来配置连接的代码。

DATABASES = {
'default': {
    'ENGINE': "sql_server.pyodbc",
    'HOST': "server_name",
    'USER': "username",
    'PASSWORD': "password",
    'NAME': "database_name",
    'OPTIONS' : {
        'driver': 'ODBC Driver 13 for SQL Server',
    },
  }
}

注意:请勿使用服务器的IP地址作为HOST,而是使用计算机名称。

© www.soinside.com 2019 - 2024. All rights reserved.