Django + MS SqlServer 2008 配置(更新2012)

1. Django连接SqlServer 2008需要依赖以下库:

  django-pyodbc, django-pyodbc-azure, django-mssql

  安装方法如下:

    pip install django-pyodbc
    pip install django-pyodbc-azure
    pip install django-mssql

  Pycharm在项目里解释器里可以添加

2. 添加ODBC:

  a.打开`管理工具`,找到`ODBC数据源(64位)`并打开,在`系统DSN`选项卡中点击`添加`,驱动程序选择`SQL server Native Client xx.x`,后面服务器选择`(local)`,一路向前,OK。有的还需要在`用户DSN`选项卡中建立同样的数据源,请注意。

  b.Win+R 运行odbcad32打开odbc数据源 在系统dsn中添加数据源 - 选择你电脑安装对应的SQL版本 - 完成 - 填写数据源名称 - 服务器填写 “.” 或local ,后面直接点下一步直到创建完成。

3. 修改数据库配置:

  修改项目文件夹下settings.py文件中的数据库的配置文件,如下:

  

DATABASES = \
{
    'default':
    {
        'ENGINE': 'sql_server.pyodbc',
        'NAME': 'leon',        #数据库的名字
        'USER': 'sa',        #登录数据库的用户名
        'PASSWORD': 'password',    #登录数据库的密码
        'HOST': 'localhost',    #数据库的IP地址
        'PORT': '1433',        #数据库的端口
        'OPTIONS': 
        {
              'driver':'SQL Server Native Client 10.0',    #10.0或11.0可以在添加odbc时看到
              'MARS_Connection': True,
         },
    }
}

4. 同步数据库:

manage.py makemigrations
manage.py migrate

5. 常见问题

  执行manage migrate时报告“django.db.utils.InterfaceError: (‘IM002’, ‘[IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序 (0) (SQLDriverConnect)’) ”的错误
  解决方法:
  a. 检查选项"driver"后面的信息是否正确
  b. 可运行以下代码检查Python连接SqlServer 2008数据库是否正常

  

import pyodbc
db = pyodbc.connect('DRIVER={SQL Server Native Client 10.0}; SERVER=127.0.0.1; DATABASE=leon; UID=sa; PWD=password')
curs = db.execute('select getdate()')
print(curs.fetchone())
db.close()

2012:

Django连接SQL Server最新配置指引

mssql-django简介
mssql-django 是django-mssql-backend的一个分支。该项目为 Django Web 框架提供了一个企业数据库连接选项,并支持 Microsoft SQL Server 和 Azure SQL 数据库。
1、支持 Django 2.2、3.0、3.1、3.2 和 4.0
2、在 Microsoft SQL Server 2016、2017、2019 上测试
3、通过 Django 测试套件的大部分测试
4、兼容 用于 SQL Server 的 Micosoft ODBC 驱动程序、 SQL Server Native Client和FreeTDS ODBC 驱动程序

依赖项

pyodbc 3.0 (or newer) and Django
mssql-django 

在settings.py中设置

DATABASES = {
    'default': {
        'ENGINE': 'mssql',
        'NAME': 'mysite',  # 数据库名称
        'HOST': '127.0.0.1',  # 数据库地址,本机 ip 地址 127.0.0.1
        'PORT': 1433,  # 端口
        'USER': 'sa',  # 数据库用户名
        'PASSWORD': '1',  # 数据库密码
        'OPTIONS': {
            # 'driver': 'ODBC Driver 17 for SQL Server',
            'driver': 'SQL Server Native Client 10.0',
        },
    }
}

 

posted @ 2021-01-29 12:02  笑而不语心自闲  阅读(502)  评论(0编辑  收藏  举报