8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

连接 Django 与 MSSQL 服务器

asha 1月前

31 0

我正在尝试将我的 Django 应用程序连接到 SQL Server 2016。我尝试使用 django-pyodbc,但它不支持 Django 1.11。相反,我安装了 django-mssql 1.8。当我尝试运行该应用程序时,我...

我正在尝试将我的 Django 应用程序连接到 SQL Server 2016。我尝试使用 django-pyodbc,但它不支持 Django 1.11。相反,我安装了 django-mssql 1.8。当我尝试运行该应用程序时,出现此错误。

TypeError was unhandled by user code
Message: 'NoneType' object is not callable

execute_from_command_line(sys.argv) 在manage.py中。

这是我的 settings.py 中的数据库:

DATABASES = {
    'default': {
        'ENGINE': 'sqlserver_ado',
        'NAME': 'TEST2',
        'HOST': 'PCNAME\SQLEXPRESS',
        'USER': '',
        'PASSWORD': '',
        'OPTIONS' : {
            'provider': 'SQLOLEDB',
            'use_mars': True,
        },
    }
}

我尝试了默认和 SQLOLEDB 提供程序,但总是出现相同的错误。我还尝试了设置和不设置用户和密码,但错误仍然相同。我可以正常连接到本地 MySQL DB。

我正在运行 Windows 10、Visual Studio 2015、SQL Server Express 2016

编辑:

以下是 的输出 pip freeze

appdirs==1.4.3
Django==1.11
django-mssql==1.8
mysqlclient==1.3.10
packaging==16.8
pyodbc==4.0.16
pyparsing==2.2.0
pytz==2017.2
six==1.10.0

以下是我的要求.txt:

django==1.11
mysqlclient==1.3.10
django-mssql==1.8
帖子版权声明 1、本帖标题:连接 Django 与 MSSQL 服务器
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由asha在本站《django》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 使用 mssql-django ,我们可以使用 Windows 身份验证和 SQL Server 身份验证将 Django 连接到 MSSQL(SQL Server)。我使用 SQL Server 2019 Express。

    使用 Windows 身份验证,要使用 mssql-django ,请将以下代码设置为 \'settings.py\'。以下代码是同一台 Windows 计算机(localhost)中的 Django 和 MSSQL 的示例,必须按如下方式配置数据库设置:

    • ENGINE 必须是 \'mssql\'
    • NAME 表示数据库名称“test”
    • HOST 是 Windows 计算机名称(设备名称),在本例中为“DESKTOP-QVRCPTA”
    • PORT 应保持空白,因为设置任何端口号都会出错,例如 \'2244\'、\'9877\' 甚至 \'1433\'(这是 MSSQL 的默认端口号)
    # "settings.py"
    
    DATABASES = {
        'default':{
            'ENGINE':'mssql',                    # Must be "mssql"
            'NAME':'test',                       # DB name "test"
            'HOST':'DESKTOP-QVRCPTA\SQLEXPRESS', # <server>\<instance>
            'PORT':'',                           # Keep it blank
            'OPTIONS': {
                'driver': 'ODBC Driver 17 for SQL Server',
            },
        }
    }
    

    此外,可以将 \'DESKTOP-QVRCPTA\' 替换为 \'localhost\',并将 \'USER\' 和 \'PASSWORD\' 替换为 空字符串 ,并删除 \'PORT\',如下所示,以使用 Windows 身份验证将 Django 连接到 MSSQL:

    # "settings.py"
    
    DATABASES = {
        'default':{
            'ENGINE':'mssql',
            'NAME':'test',
            'USER':'',                     # Keep it blank
            'PASSWORD':'',                 # Keep it blank
            'HOST':'localhost\SQLEXPRESS', # "localhost" is also possible
            # 'PORT':'',                   # Can be removed
            'OPTIONS': {
                'driver': 'ODBC Driver 17 for SQL Server',
            },
        }
    }
    

    使用 SQL Server 身份验证,要使用 mssql-django ,请将 Windows 身份验证的代码(如上所示)设置为 \'settings.py\',其中 \'USER\' 和 \'PASSWORD\'。Windows 身份验证和 SQL Server 身份验证的代码之间的区别仅在于 \'USER\' 和 \'PASSWORD\':

    # "settings.py"
    
    DATABASES = {
        'default':{
            'ENGINE':'mssql',  
            'NAME':'test',           
            'USER':'john',                       # Username "john"
            'PASSWORD':'johnpw',                 # Password "johnpw"
            'HOST':'DESKTOP-QVRCPTA\SQLEXPRESS',
            'PORT':'',                           
            'OPTIONS': {
                'driver': 'ODBC Driver 17 for SQL Server',
            },
        }
    }
    

    此外,与 Windows 身份验证的代码相同,可以将 \'DESKTOP-QVRCPTA\' 替换为 \'localhost\',并删除 \'PORT\',如下所示,以使用 SQL Server 身份验证将 Django 连接到 MSSQL:

    # "settings.py"
    
    DATABASES = {
        'default':{
            'ENGINE':'mssql',
            'NAME':'test',
            'USER':'john',        
            'PASSWORD':'johnpw',
            'HOST':'localhost\SQLEXPRESS', # "localhost" is also possible
            # 'PORT':'',                   # Can be removed   
            'OPTIONS': {
                'driver': 'ODBC Driver 17 for SQL Server',
            },
        }
    }
    

    接下来,安装最新的包 mssql-django :

    pip install mssql-django
    

    然后,进行迁移并迁移:

    python manage.py makemigrations && python manage.py migrate
    

    然后,创建超级用户:

    python manage.py createsuperuser
    

    现在,我们可以使用 Windows 身份验证和 SQL Server 身份验证将 Django 连接到 MSSQL,然后为“test”数据库创建表。

返回
作者最近主题: