Django3.1连接SQL Server2017配置指引
参考1 https://www.cnblogs.com/fengbo123/p/10508758.html
参考2 https://blog.****.net/weixin_30530339/article/details/98878116
根据以上两文,本地配置过程
1. 前言
Django只内置了几个 Database Backend(mysql、oracle、sqllite3(默认)、postgresql_psycopg2),所以原生并不支持Microsoft SQL Server。
好在有前人的尝试,以及官方文档的介绍,终于使用django-pyodbc搞定了。
先讲我本地的配置环境:
1. win10
2. Python3.8.2
3. Django3.1
安装必要的组件:
pip install django-sqlserver django-pytds pyodbc django-pyodbc pypiwin32
主要不同点:
按以下配置
DATABASES = { # 'default': { # 'ENGINE': 'django.db.backends.sqlite3', # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), # } 'default': { 'ENGINE': 'sqlserver', 'NAME': 'DjangoTest', 'HOST': '127.0.0.1', 'PORT': '1433', 'USER': 'DjangoTest', 'PASSWORD': 'DjangoTest', 'OPTIONS': { 'DRIVER': 'SQL Server Native Client 10.0', }, } }
出现错误,Error: ('IM002', '[IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序 (0) (SQLDriverConnect)'),检查发现本机驱动里的SQL Server Native Client为版本11.0更正后错误消失
执行manage.py shell 进入dp命令行模式时报错,'sqlserver' isn't an available database backend
网上有人建议安装django-pyodbc-azure,安装过程中Django被降级,但是还没能解决问题
用以下安装解决问题
pip install django-mssql-backend
另外一个错误:No translation files found for default language zh-cn.
修改配置为:LANGUAGE_CODE = 'zh-hans'