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 获取文件列表(或是目录例表)
Mar 25 Python
python求素数示例分享
Feb 16 Python
Python实现的下载8000首儿歌的代码分享
Nov 21 Python
Python中zfill()方法的使用教程
May 20 Python
Python简单实现控制电脑的方法
Jan 22 Python
flask入门之文件上传与邮件发送示例
Jul 18 Python
基于Python3.6+splinter实现自动抢火车票
Sep 25 Python
Python操作MySQL数据库实例详解【安装、连接、增删改查等】
Jan 17 Python
python使用html2text库实现从HTML转markdown的方法详解
Feb 21 Python
python+selenium+Chrome options参数的使用
Mar 18 Python
pytorch 如何使用float64训练
May 24 Python
教你怎么用Python操作MySql数据库
May 31 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的ASP防火墙
2006/10/09 PHP
处理php自动反斜杠的函数代码
2010/01/05 PHP
php下获取Discuz论坛登录用户名、用户组、用户ID等信息的实现代码
2010/12/29 PHP
PHP使用gmdate实现将一个UNIX 时间格式化成GMT文本的方法
2015/03/19 PHP
PHP实现的多维数组排序算法分析
2018/02/10 PHP
JQuery实现自定义对话框的代码
2008/06/15 Javascript
node.js中的fs.stat方法使用说明
2014/12/16 Javascript
JQuery分屏指示器图片轮换效果实例
2015/05/21 Javascript
JavaScript中的getMilliseconds()方法使用详解
2015/06/10 Javascript
详解javascript跨浏览器事件处理程序
2016/03/27 Javascript
jquery分页插件jquery.pagination.js实现无刷新分页
2016/04/01 Javascript
JavaScript禁止复制与粘贴的实现代码
2016/05/16 Javascript
Angularjs在初始化未完毕时出现闪烁问题的解决方法分析
2016/08/05 Javascript
学习JS中的DOM节点以及操作
2018/04/30 Javascript
Puppeteer 爬取动态生成的网页实战
2018/11/14 Javascript
详解Next.js页面渲染的优化方案
2019/01/27 Javascript
js实现简单点赞操作
2020/03/17 Javascript
vue从后台渲染文章列表以及根据id跳转文章详情详解
2020/12/14 Vue.js
Python实现视频下载功能
2017/03/14 Python
Python数据结构与算法之列表(链表,linked list)简单实现
2017/10/30 Python
Python统计分析模块statistics用法示例
2019/09/06 Python
Python 使用type来定义类的实现
2019/11/19 Python
python 实现多维数组(array)排序
2020/02/28 Python
解决Jupyter Notebook开始菜单栏Anaconda下消失的问题
2020/04/13 Python
CSS实现限制字数功能当对象内文本溢出时显示省略标记
2014/08/20 HTML / CSS
html5-websocket基于远程方法调用的数据交互实现
2012/12/04 HTML / CSS
一波HTML5 Canvas基础绘图实例代码集合
2016/02/28 HTML / CSS
老海军美国官网:Old Navy
2016/09/05 全球购物
德国购买健身器材:AsVIVA
2017/08/09 全球购物
英国莱斯特松木橡木家具网上商店:Choice Furniture Superstore
2019/07/05 全球购物
是否有自动比较结构的方法
2015/06/03 面试题
生物技术研究生自荐信
2013/11/12 职场文书
区域销售经理岗位职责
2013/12/10 职场文书
一年级家长会邀请函
2014/01/25 职场文书
分公司负责人任命书
2014/06/04 职场文书
捐书仪式主持词
2015/07/04 职场文书