Django 连接sql server数据库的方法


Posted in Python onJune 30, 2018

*在此注明,本人使用的是python3.5和Django2.0.4

sql server是微软出的一款闭源的可运行于windows和linux平台上的 关系型数据库 。由于其闭源的特性,所以较少有公司使用,但是比较神奇的是,我所在的公司和我几个朋友所在的公司业务都是以爬虫为主,都是以sql server作为主要的数据库在使用。

一、打包

如果你是使用Django的老手应该知道Django默认不支持sql server;如果你刚开始接触Django,那么你应该知道Django默认支持四种数据库:postgresql、mysql、oracle、sqlite。以上四个数据库不需要直接进行过多的操作,只需要你修改项目中的settings.py文件中的DATABASE就可以了。

但是使用sql server,则需要自己再导入一些东西。

 Django 连接sql server数据库的方法

上图中所涉及到的包是我自己打进去的全部可以已通过"pip install XXX"安装,不需要在Django文件中导入。其中特别需要注意的是django-pyodbc-azure是一定要装的,没有它直接就崩了。

二、代码

将上一步完成以后就只需要修改你的项目中的settings.py文件就可以了。

DATABASES = {
  'default': {
    'NAME': 'screen',
    'ENGINE': 'sql_server.pyodbc',
    'HOST': '127.0.0.1',
    'PORT': '1433',
    'USER': 'user',
    'PASSWORD': 'password',
    'OPTIONS':{
      'driver':'SQL Server Native Client 10.0',
    }
  }
}

在这里要注意几点:

1.'ENGINE'这个键值对是固定写法(好像是要pip install pyodbc以后才能生效,时间有点久,有点记不清了)

2.sql server的默认端口号是1433,但是可能有些公司会改端口号,大家用之前自己最好查一查这个端口是不是被sql server占用了

3.在连接默认数据库的时候很多人都没有写过'OPTIONS'这个东西,我一开始也没有写,结果怎么着都连不上。之后上网查了查,很多人说在odbc里调数据库的东西引擎(公司用的windows做开发系统,勿喷……)。结果加进去还是不行,最后发现是'OPTIONS'没有写,写完之后所有问题都解决了。

这个也是很久之前做的事,刚闲下来着手整理,所以有些东西可能有些遗漏。如果有谁看到这篇文章,发现了一些错误或者遗漏的部分请留言,我会及时改正。谢谢!希望这篇文章能帮助到需要那些帮助的朋友!也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python获取文件所在目录和文件名的方法
Jan 12 Python
python批量添加zabbix Screens的两个脚本分享
Jan 16 Python
浅谈Python的list中的选取范围
Nov 12 Python
Python3内置模块pprint让打印比print更美观详解
Jun 02 Python
python文件转为exe文件的方法及用法详解
Jul 08 Python
Python符号计算之实现函数极限的方法
Jul 15 Python
Python3的高阶函数map,reduce,filter的示例详解
Jul 23 Python
Python之指数与E记法的区别详解
Nov 21 Python
python的等深分箱实例
Nov 22 Python
python适合做数据挖掘吗
Jun 16 Python
python tkinter实现连连看游戏
Nov 16 Python
实例讲解Python中sys.argv[]的用法
Jun 03 Python
python绘制直线的方法
Jun 30 #Python
Python Grid使用和布局详解
Jun 30 #Python
Python 删除连续出现的指定字符的实例
Jun 29 #Python
使用python语言,比较两个字符串是否相同的实例
Jun 29 #Python
python去除文件中重复的行实例
Jun 29 #Python
python获取指定字符串中重复模式最高的字符串方法
Jun 29 #Python
Python 利用内置set函数对字符串和列表进行去重的方法
Jun 29 #Python
You might like
PHP 加密/解密函数 dencrypt(动态密文,带压缩功能,支持中文)
2009/01/30 PHP
PHP在特殊字符前加斜杠的实现代码
2011/07/17 PHP
解析PHP生成静态html文件的三种方法
2013/06/18 PHP
解析php做推送服务端实现ios消息推送
2013/07/01 PHP
PHP实现把数字ID转字母ID
2013/08/12 PHP
php简单实现快速排序的方法
2015/04/04 PHP
php处理单文件、多文件上传代码分享
2016/08/24 PHP
PHP随机获取未被微信屏蔽的域名(微信域名检测)
2017/03/19 PHP
jquery实现页面图片等比例放大缩小功能
2014/02/12 Javascript
Javascript原型链和原型的一个误区
2014/10/22 Javascript
简单实现jQuery级联菜单
2017/01/09 Javascript
javascript深拷贝和浅拷贝详解
2017/02/14 Javascript
详解JavaScript中return的用法
2017/05/08 Javascript
详解webpack打包vue时提取css
2017/05/26 Javascript
Node.js 使用axios读写influxDB的方法示例
2018/10/26 Javascript
微信小程序-可移动菜单的实现过程详解
2019/06/24 Javascript
[04:52]2015国际邀请赛LGD战队晋级之路
2015/08/14 DOTA
跟老齐学Python之大话题小函数(2)
2014/10/10 Python
python requests 使用快速入门
2017/08/31 Python
ubuntu安装mysql pycharm sublime
2018/02/20 Python
Python 绘图库 Matplotlib 入门教程
2018/04/19 Python
python实现多人聊天室
2020/03/31 Python
python3实现mysql导出excel的方法
2019/07/31 Python
pytorch进行上采样的种类实例
2020/02/18 Python
python GUI库图形界面开发之PyQt5结合Qt Designer创建信号与槽的详细方法与实例
2020/03/08 Python
Python drop方法删除列之inplace参数实例
2020/06/27 Python
快速解释如何使用pandas的inplace参数的使用
2020/07/23 Python
python中selenium库的基本使用详解
2020/07/31 Python
Python析构函数__del__定义原理解析
2020/11/20 Python
神经网络训练采用gpu设置的方式
2021/03/03 Python
建筑施工实习自我鉴定
2013/09/19 职场文书
实习教师个人的自我评价
2013/11/08 职场文书
机关办公室岗位职责
2014/04/16 职场文书
2015年公司新年寄语
2014/12/08 职场文书
2014年校务公开工作总结
2014/12/18 职场文书
无罪辩护词范文
2015/05/21 职场文书