django连接SQLserver数据库,亲测成功
开发环境
- python 3.6.1
- Django 2.1.4
- win10
- Pycharm2017
- SQL Server 2012
步骤1:安装需要的包
- django-pyodbc、django-pyodbc-azure、django-pytds
- pyodbc、django-sqlserver(主要是通过这两个包连接)
- pywin32、django-mssql
说明:django-sqlserver有一些依赖包,使用pip安装可能安装不全,导致后面报错,建议使用Pycharm安装这些包,他会帮你安装依赖包,懒人的选择。
步骤2:配置setting.py文件
DATABASES = {
'default': {
'ENGINE': 'sql_server.pyodbc',
'NAME': 'oa_test',
'USER': 'sa',
'PASSWORD': 'qwe123',
'HOST': '127.0.0.1',
'PORT': '',
'OPTIONS': {
'driver':'SQL Server Native Client 11.0',
'MARS_Connection': True,
},
},
}
关于OPTIONS中的说明:
- driver中的“SQL Server Native Client 11.0”是11.0还是10.0或者是其他的版本,可以通过查看数据库所在的服务器的ODBC数据源管理器,具体步骤是打开“ODBC数据源管理器”–>“驱动程序”,然后“名称”一栏中有版本。
- MARS_Connection必须写,不能删
在调试过程中可能遇到下面这个报错:
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'
解决办法:在项目所在的环境文件夹中找到site-packages文件夹并将这个文件夹下的sql_server文件夹和pyodbc文件夹拷贝到项目的根目录里,这样就不会报错了,site-packages文件夹找不到的请自行百度。
参考的文章:
1.Django连接SQL Server配置指引
2.django2.0连接sqlserver2008