python如何连接sql server
这篇“python如何连接sql server”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“python如何连接sql server”文章吧。
先利用pip安装pymssql库
pip install pymssql
具体连接、测试代码:
#server默认为127.0.0.1,如果打开了TCP动态端口的需要加上端口号,如'127.0.0.1:1433'#user默认为sa#password为自己设置的密码#database为数据库名字server='127.0.0.1'user="sa"password="123456"database="pubs"conn=pymssql.connect(server,user,password,database)#可简化为conn=pymssql.connect(host='localhost',user='sa',password='123456',database='pubs')cursor=conn.cursor()cursor.execute('SELECT*FROMtitles')print(cursor.fetchall())#如果用pandas读取数据库importpymssqlimportpandasaspdconn=pymssql.connect('IP地址','账号','密码','数据库')sql_1="SELECTId,creat_timefrom表名"#利用pandas直接获取数据"data=pd.read_sql(sql_1,conn)conn.close()print(data)
封装好的版本:
#coding=utf-8#sqlserver的连接importpymssqlclassMSSQL:def__init__(self,host,user,pwd,db):self.host=hostself.user=userself.pwd=pwdself.db=dbdef__GetConnect(self):"""得到连接信息返回:conn.cursor()"""ifnotself.db:raise(NameError,"没有设置数据库信息")self.conn=pymssql.connect(host=self.host,user=self.user,password=self.pwd,database=self.db,charset="utf8")cur=self.conn.cursor()ifnotcur:raise(NameError,"连接数据库失败")else:returncurdefExecQuery(self,sql):"""执行查询语句返回的是一个包含tuple的list,list的元素是记录行,tuple的元素是每行记录的字段"""cur=self.__GetConnect()cur.execute(sql)resList=cur.fetchall()#查询完毕后必须关闭连接self.conn.close()returnresListdefExecNonQuery(self,sql):"""执行非查询语句调用示例:cur=self.__GetConnect()cur.execute(sql)self.conn.commit()self.conn.close()"""cur=self.__GetConnect()cur.execute(sql)self.conn.commit()self.conn.close()defmain():#host默认为127.0.0.1,如果打开了TCP动态端口的需要加上端口号,如'127.0.0.1:1433'#user默认为sa#pwd为自己设置的密码#db为数据库名字ms=MSSQL(host='127.0.0.1',user="sa",pwd="123456",db="pubs")resList=ms.ExecQuery("SELECT*FROMtitles")print(resList)if__name__=='__main__':main()
如果出现pymssql.OperationalError: (20009, b'DB-Lib error message 20009, severity 9:Unable to connect: Adaptive Server is unavailable or does not exist (SZSSQLEXPRESS)')类似保错,有以下几个可能的原因:
1.数据库名字写错
2.tcp/ip协议未开启,这个位于(右键此电脑,点击管理,点击服务与应用程序,点击sql配置管理器,点击sql server网络配置,点击mssqlserver的协议,右键tcp/ip,点击启用,重启电脑后才会生效)
3.动态端口错误,默认是没有打开动态端口的,如果打开了就需要写端口号,在2中的tcp/ip协议中查看动态端口号,点击tcp/ip协议,点击ip地址,然后翻到最下面,找到ipall 里面的动态端口号,也可以将动态端口号删掉,然后不写
4.sa用户登录未启用
打开sql server management studio,点击安全性,点击登录名,如果sa项出现红色的×则说明sa用户登录未启用,右键sa点击属性,点击状态即可启用。
以上就是关于“python如何连接sql server”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。