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 14 Python
详解Python中的条件判断语句
May 14 Python
python实现简单socket通信的方法
Apr 19 Python
Python requests模块实例用法
Feb 11 Python
Django如何自定义model创建数据库索引的顺序
Jun 20 Python
使用python进行广告点击率的预测的实现
Jul 04 Python
Python调用Windows API函数编写录音机和音乐播放器功能
Jan 05 Python
tensorflow使用指定gpu的方法
Feb 04 Python
解决Alexnet训练模型在每个epoch中准确率和loss都会一升一降问题
Jun 17 Python
python3实现将json对象存入Redis以及数据的导入导出
Jul 16 Python
Python3中最常用的5种线程锁实例总结
Jul 07 Python
PO模式在selenium自动化测试框架的优势
Mar 20 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开发注意事项总结
2015/02/04 PHP
Yii框架扩展CGridView增加导出CSV功能的方法
2017/05/24 PHP
PHP 7.0新增加的特性介绍
2017/06/08 PHP
PHP文字转图片功能原理与实现方法分析
2017/08/31 PHP
js 实现复制到粘贴板的功能代码
2010/05/13 Javascript
神奇的7个jQuery 3D插件整理
2011/01/06 Javascript
js页面滚动时层智能浮动定位实现(jQuery/MooTools)
2011/08/23 Javascript
js代码实现的加入收藏效果并兼容主流浏览器
2014/06/23 Javascript
JavaScript极简入门教程(二):对象和函数
2014/10/25 Javascript
JavaScript判断IE版本型号
2015/07/27 Javascript
跟我学习javascript的函数调用和构造函数调用
2015/11/16 Javascript
再谈JavaScript异步编程
2016/01/27 Javascript
js获取元素的标签名实现方法
2016/10/08 Javascript
JS如何生成一个不重复的ID的函数
2016/12/25 Javascript
jQuery图片拖动组件Dropzone用法示例
2017/01/17 Javascript
使用 Node.js 实现图片的动态裁切及算法实例代码详解
2018/09/29 Javascript
Python 字符串操作方法大全
2014/03/11 Python
跟老齐学Python之眼花缭乱的运算符
2014/09/14 Python
Python制作CSDN免积分下载器
2015/03/10 Python
给你选择Python语言实现机器学习算法的三大理由
2017/11/15 Python
python之super的使用小结
2018/08/13 Python
python 用opencv调用训练好的模型进行识别的方法
2018/12/07 Python
Python常见数据结构之栈与队列用法示例
2019/01/14 Python
Python中使用logging和traceback模块记录日志和跟踪异常
2019/04/09 Python
24式加速你的Python(小结)
2019/06/13 Python
图解python全局变量与局部变量相关知识
2019/11/02 Python
Python tkinter三种布局实例详解
2020/01/06 Python
使用keras时input_shape的维度表示问题说明
2020/06/29 Python
python如何实现递归转非递归
2021/02/25 Python
HTML5 CSS3实现一个精美VCD包装盒个性幻灯片案例
2014/06/16 HTML / CSS
GNC健安喜美国官网:美国第一营养品牌
2016/07/22 全球购物
Java中实现多态的机制
2015/08/09 面试题
软件工程师岗位职责
2013/11/16 职场文书
自我评价的范文
2014/02/02 职场文书
四风问题个人自查剖析材料思想汇报
2014/09/21 职场文书
解决Pytorch修改预训练模型时遇到key不匹配的情况
2021/06/05 Python