Django2.2连接SQL server数据库配置方法

示例环境

  • 系统版本:Windows10 professional
  • 数据库版本: SQL server 2012
  • Python版本:Python 3.6.5
  • Django版本: Django2.2
  • 连接数据库工具:Navicat Premium & SSMS

Django连接SQL Server前提:

1. 安装SQL Server 2012

2. 配置注意事项

  • 【服务器属性–安全性】开启SQL server和Windows身份认证模式。
  • 【服务器属性–连接】开启允许远程连接到此服务器。
  • 建立远程账户能正常访问和基本的增删改查权限,可以使用默认的sa(拥有最高权限)账户,熟悉后可以自己创建账户降低权限。
  • 安装SSMS和Navicat Premium软件(可以只安装一个),目的是用ODBC驱动连接SQL Server。

3.Django连接SQL server步骤:

1.安装必要的django环境

`

  • pip install django==2.2
  • pip install django-pyodbc
  • pip install django-mssql-backend
    根据官网的介绍django-pyodbc-azure 只能支持到 django 2.1。如果涉及到2.2及以上版本时,可以使用django-mssql-backend。

2.数据库驱动安装配置检查

  1. 下载安装ODBC Dirver 17 for SQL Server。
  2. 配置ODBC数据源(64位):控制面板->管理工具->ODBC数据源(64位)。
    在这里插入图片描述
  3. 点击添加.
    在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
然后一直下一步,也可以对数据库进行选择默认数据库。
在这里插入图片描述
点击测试出现测试成功,说明这个ODBC已经可以使用。

ODBC常见失败原因。

  1. 数据库的ODBC驱动并未安装。
  2. SQL server的验证方式选择的是windows验证,一定要注意,这里的验证要设置成sql server验证,也就是带用户名和密码的验证。具体的设置方式,这里不再详述,非常简单,自行百度。
  3. SQL server默认的tcp端口号是1433,检查是否开启。打开SQL server配置管理器,找到SQL Server 网络配置,检查TCP/IP是否启用,以及1433端口是否开启。IPALL
    在这里插入图片描述
  4. 系统防火墙禁止1433端口,可以整个关掉防火墙,或者添加防火墙写入策略,可以通过修改1433端口在开放,确保安全。

3.Django的settings.py文件数据库配置。

DATABASES = {
    'default': {
        'ENGINE': 'sql_server.pyodbc',
        'NAME': 'db',
        'USER': 'sa',
        'PASSWORD': 'password',
        'HOST': '127.0.0.1',
        'PORT': '1433',
        'OPTIONS': {
            'driver': 'ODBC Driver 17 for SQL Server',
            'MARS_Connection': True,
        },
    },
}

这里'ENGINE': 'sql_server.pyodbc'

'OPTIONS': {
            'driver': 'ODBC Driver 17 for SQL Server',
            'MARS_Connection': True,
        },

必须设置,并且driver要根据你所用的ODBC数据源的具体版本来具体设置,一定不能出错。当然'driver': 'SQL Server Native Client 11.0'也有同学使用这个数据源,这也是没有任何问题的。

提示

配置需要谨慎,一定要仔细认真,数据库信息一定要填写准确,bug往往在最简单的地方出现。

至此,django2.2连接SQL Server作为数据库的配置已经完成,可以开始你的项目研发了。
如果采用该方法依旧配置失败,数据库无法使用,请检查django有关数据库的第三方依赖包的版本,低版本的依赖包也会导致配置失败。

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值