使用pyhton连接sqlserver

Posted dabbiao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用pyhton连接sqlserver相关的知识,希望对你有一定的参考价值。

碎碎念

技术图片


   最近刚学了数据库,在对数据库文件进行处理的时候第一步便是连接数据库吧。我看了很多遍文章关于数据库的连接都是老两步,调用pymssql库,一顿操作猛如虎(题外话:使用sqlserver的小伙伴,十二在这里强烈建议大家不要添加sa用户,原因就是太不安全。。)

import pymssql
conn = pymssql.connect(r服务器名, 用户名, 密码, 数据库名)

 但是有个问题一直困扰着我,如果数据库连接失败,将会如何?任凭程序在编译器里报错?作为写程序的人一定知道,哦,我数据库没连接上。但当有其他人用你写的代码做东西时(比如我),纯代码还好,能看到报错,但一旦加了UI封装,数据库到底有没有连接上,用户就不知道的,程序崩溃退出,用户也不知道什么情况。

开始想 


   一开始呢,我是像加个判断条件不就好咯,如果连接不上,返回一个错误的值,实在不行做个弹窗。但我尝试了一下,发现好像不太行,看了网上的许多代码,好像。。也不太行。原因基本上都差不多(大家有空可以都去看看),程序在连接时就已经报错了后面的if条件跟本跳转不过去(QAQ)。所以我这里使用了另一种方法,就是try…catch…

解决方案


   本人也是萌新一枚,啥都不懂,python也是刚学,对try,catch的具体用法也不是很了解,在此献丑了(调用tkinter模块,蹦一个警告弹窗出来)

def sqltest():  # 测试连接
    try:
        conn = pymssql.connect(r服务器名, 用户名, 密码, 数据库名)
    except BaseException:
        tkinter.messagebox.showwarning("警告", 未连接至数据库,请检查数据库参数设置)
        exit(0)
    else:
        conn.close() 

这样把数据库连接当做异常处理,连接不上报异常,就可以了(^-^)。。(萌新第一次发帖,不足之处希望各位大佬多提提意见,十二一定虚心接受。。)

以上是关于使用pyhton连接sqlserver的主要内容,如果未能解决你的问题,请参考以下文章

pyhton—opencv直线检测(HoughLines)找到最长的一条线

pyhton—opencv直线检测(HoughLines)找到最长的一条线

代码学习PYHTON 元组

缺少 SQL SERVER 2014 代码片段

在 myeclipse中进行连接sql server的测试

Pyhton 连接数据库