pymssql连接数据库 报错(py连接mysql数据库)

pymssql连接数据库 报错(py连接mysql数据库)0 首先在电脑中安装 pymssql 库 该库可以到这里下载 http www lfd uci edu gohlke pythonlibs pymssql 使用该库时 需要在 Sql Server Configuratio Manager 里面将 TCP IP 协议开启 1 下面是连接和查询 Sql 数据库类 底层访问类 通用 有了它就可以随意访问数据库了

大家好,我是讯享网,很高兴认识大家。



0,首先在电脑中安装pymssql库,该库可以到这里下载:http://www.lfd.uci.edu/~gohlke/pythonlibs/#pymssql

—使用该库时,需要在Sql Server Configuration Manager里面将TCP/IP协议开启

1,下面是连接和查询Sql数据库类(底层访问类—通用,有了它就可以随意访问数据库了,主要包含一些访问数据库的函数):

import pymssql

 

2,下面在函数中,连接数据库,并执行一个简单的查询语句(查):

 

3,下面是一个超微复杂点的查询语句(查):

 

4,下面是插入数据(增)操作:

 

5,下面是删除(删)操作:

 


讯享网

6,下面是更新(改)操作:

 

7,执行存储过程:

cur.execute(“exec 存储过程名 @参数1=XXX, @参数2=‘YYY’……”)

一个真实的案例:

—前提,你的账号要有执行存储过程的权限,否则会报下边错误:

OperationalError: (229, “The EXECUTE permission was denied on the object ‘SearchBshi’, database ‘Wutong’, schema ‘dbo’.DB-Lib error message 229, severity 14: General SQL Server error: Check messages from the SQL Server “)

 

 

@注意事项:

1,使用pymssql进行中文操作时候可能会出现中文乱码,我解决的方案是:

  • 文件头加上 #coding=utf8
  • sql语句中有中文的时候进行encode
    = “insert into WeiBo([UserId],[WeiBoContent],[PublishDate]) values(1,‘测试’,‘2012/2/1’)”.encode(“utf8”)



  •  连接的时候加入charset设置信息
    =self.host,user=self.user,password=self.pwd,database=self.db,charset=“utf8”)



2,print str(huiyuancontent),不要加str,会报编码错误。用unicode(huiyuancontent)。

3,注意Sql语句,查询返回的结果值处理问题。reslist=ms.ExecQuery(“select top 10 id,c_value from dbo.bx_categories AS bc”)

这里reslist是一个数组对象[(u’做事’,), (u’作为实现’,), (u’佐照龙’,)],[]代表查询的结果集数组,里边的圆括号表示的是一行一行的数据,圆括号内逗号隔开的是一列一列的数据。

—最主要,是我们取值的时候,要取对应的值。假如我取结果集中第一行第一列的值,那就是reslist[0][0]

小讯
上一篇 2025-06-10 23:41
下一篇 2025-05-12 11:11

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/176592.html