python 使用pymssql连接sql server数据库
来源:互联网 发布:域名备案多少钱 编辑:程序博客网 时间:2024/05/23 15:38
#coding=utf-8 #!/usr/bin/env python#-------------------------------------------------------------------------------# Name: pymssqlTest.py# Purpose: 测试 pymssql库,该库到这里下载:http://www.lfd.uci.edu/~gohlke/pythonlibs/#pymssql## Author: scott## Created: 04/02/2012#-------------------------------------------------------------------------------import pymssqlclass MSSQL: """ 对pymssql的简单封装 pymssql库,该库到这里下载:http://www.lfd.uci.edu/~gohlke/pythonlibs/#pymssql 使用该库时,需要在Sql Server Configuration Manager里面将TCP/IP协议开启 用法: """ def __init__(self,host,user,pwd,db): self.host = host self.user = user self.pwd = pwd self.db = db def __GetConnect(self): """ 得到连接信息 返回: conn.cursor() """ if not self.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() if not cur: raise(NameError,"连接数据库失败") else: return cur def ExecQuery(self,sql): """ 执行查询语句 返回的是一个包含tuple的list,list的元素是记录行,tuple的元素是每行记录的字段 调用示例: ms = MSSQL(host="localhost",user="sa",pwd="123456",db="PythonWeiboStatistics") resList = ms.ExecQuery("SELECT id,NickName FROM WeiBoUser") for (id,NickName) in resList: print str(id),NickName """ cur = self.__GetConnect() cur.execute(sql) resList = cur.fetchall() #查询完毕后必须关闭连接 self.conn.close() return resList def ExecNonQuery(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()def main():## ms = MSSQL(host="localhost",user="sa",pwd="123456",db="PythonWeiboStatistics")## #返回的是一个包含tuple的list,list的元素是记录行,tuple的元素是每行记录的字段## ms.ExecNonQuery("insert into WeiBoUser values('2','3')") ms = MSSQL(host="localhost",user="sa",pwd="123456",db="PythonWeiboStatistics") resList = ms.ExecQuery("SELECT id,weibocontent FROM WeiBo") for (id,weibocontent) in resList: print str(weibocontent).decode("utf8")if __name__ == '__main__': main()
注意事项:
使用pymssql进行中文操作时候可能会出现中文乱码,我解决的方案是:
- 文件头加上 #coding=utf8
- sql语句中有中文的时候进行encodeinsertSql = "insert into WeiBo([UserId],[WeiBoContent],[PublishDate]) values(1,'测试','2012/2/1')".encode("utf8")
- 连接的时候加入charset设置信息pymssql.connect(host=self.host,user=self.user,password=self.pwd,database=self.db,charset="utf8")
原文:http://www.cnblogs.com/qianlifeng/archive/2012/02/06/2340367.html
- python 使用pymssql连接sql server数据库
- python 使用pymssql连接sql server数据库
- python 使用pymssql连接sql server数据库
- python 使用pymssql连接sql server数据库
- python 使用pymssql连接sql server数据库
- python 使用pymssql连接sql server数据库
- Python 通过pymssql连接SQL Server数据库
- python连接SQL Server:Pymssql模块
- python连接SQL Server:Pymssql模块
- python连接SQL Server取多个结果集:Pymssql模块
- python 使用pymssql 连接MSSQL数据库(带端口)
- python通过pymssql链接SQL Server
- python中pymssql模块操作SQL Server
- Python链接SQLServer数据库--pymssql使用基础
- 用py2exe打包包含pymssql连接sql server遇到问题
- pymssql 安装与SQL Server连接问题处理
- Java及Python连接SQL Server数据库
- python 连接sql server、mysql数据库
- 在sim中新建联系人名称为数字时,若数字中间加空格后保存,联系人姓名显示就会颠倒过来
- hdu 1104
- 从开发者的角度审视iOS 6与iPhone 5
- 可行的阻塞型IO和休眠的初次应用
- Java正则表达式
- python 使用pymssql连接sql server数据库
- JPA 一对一配置,复合主键均为外键
- (转帖只为保存)VS2008 f:/dd/vctools/vc7libs/ship/atlmfc/src/mfc/dlgdata.cpp 错误调试/OnInitDialog启动错误
- ios编程--AVCapture编程理解
- 在cocos2d里面如何使用Texture Packer和像素格式来优化spritesheet
- c头文件(.h)的作用
- Struts2 动态压缩成zip文件下载
- Android线程模型和AsyncTask
- JAVA学习(五)__String contains indexOf区别