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回调函数用法实例分析
May 09 Python
Python解析树及树的遍历
Feb 03 Python
python处理xml文件的方法小结
May 02 Python
python 计算两个日期相差多少个月实例代码
May 24 Python
浅谈numpy库的常用基本操作方法
Jan 09 Python
python requests 测试代理ip是否生效
Jul 25 Python
解决pycharm py文件运行后停止按钮变成了灰色的问题
Nov 29 Python
用python爬取租房网站信息的代码
Dec 14 Python
学习python分支结构
May 17 Python
Python中字典与恒等运算符的用法分析
Aug 22 Python
python 利用jinja2模板生成html代码实例
Oct 10 Python
Python 限定函数参数的类型及默认值方式
Dec 24 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
MySql 按时间段查询数据方法(实例说明)
2008/11/02 PHP
php array_flip() 删除数组重复元素
2009/01/14 PHP
ThinkPHP基于PHPExcel导入Excel文件的方法
2014/10/15 PHP
div层的移动及性能优化
2010/11/16 Javascript
jQuery实战之品牌展示列表效果
2011/04/10 Javascript
jQuery 瀑布流 绝对定位布局(二)(延迟AJAX加载图片)
2012/05/23 Javascript
jquery实现图片灯箱明暗的遮罩效果
2013/11/15 Javascript
通过location.replace禁止浏览器后退防止重复提交
2014/09/04 Javascript
js实现iframe跨页面调用函数的方法
2014/12/13 Javascript
JavaScript在浏览器标题栏上显示当前日期和时间的方法
2015/03/19 Javascript
javascript实现标签切换代码示例
2016/05/22 Javascript
Vue.js实现移动端短信验证码功能
2017/03/29 Javascript
详解nodejs操作mongodb数据库封装DB类
2017/04/10 NodeJs
Angular实现一个简单的多选复选框的弹出框指令实例
2017/04/25 Javascript
深入理解React中何时使用箭头函数
2017/08/23 Javascript
详解npm 配置项registry修改为淘宝镜像
2018/09/07 Javascript
使用vuepress搭建静态博客的示例代码
2019/02/14 Javascript
Python中使用Tkinter模块创建GUI程序实例
2015/01/14 Python
利用Django框架中select_related和prefetch_related函数对数据库查询优化
2015/04/01 Python
Python爬虫抓取手机APP的传输数据
2016/01/22 Python
详解django中使用定时任务的方法
2018/09/27 Python
django最快程序开发流程详解
2019/07/19 Python
Pytorch 实现自定义参数层的例子
2019/08/17 Python
python pyinstaller打包exe报错的解决方法
2019/11/02 Python
如何在python开发工具PyCharm中搭建QtPy环境(教程详解)
2020/02/04 Python
html5通过postMessage进行跨域通信的方法
2017/12/04 HTML / CSS
澳大利亚的奢侈品牌:Oroton
2016/08/26 全球购物
澳大利亚一站式数码相机商店:CameraPro
2020/03/09 全球购物
新闻专业大学生找工作的自我评价
2013/10/30 职场文书
2014年会演讲稿范文
2014/01/06 职场文书
母校寄语大全
2014/04/10 职场文书
机关干部作风建设剖析材料
2014/10/23 职场文书
老干部工作汇报材料
2014/10/28 职场文书
夫妻忠诚协议书范本
2014/11/17 职场文书
企业爱心捐款倡议书
2015/04/27 职场文书
毕业实习感受与体会
2015/05/26 职场文书