加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Python连接数据库-pyodbc

(2012-11-26 14:25:28)
标签:

it

分类: python学习

1、连接sql server:

conn_info = 'DRIVER={SQL Server};DATABASE=%s;SERVER=%s;UID=%s;PWD=%s'%(database, host, user, pwd)
self.mssql_conn = pyodbc.connect(conn_info)
self.mssql_cur = self.mssql_conn.cursor()

2、连接mysql

需要安装mysql odbc:http://dev.mysql.com/downloads/connector/odbc/

conn_info = ('Driver={MySQL ODBC 5.1 Driver};Server=%s;Port=%s;Database=%s;User=%s; Password=%s;Option=3;'%(host, port, database, user, pwd ))   
self.mysql_conn = pyodbc.connect(conn_info)
self.mysql_cur = self.mysql_conn.cursor()

3、MysqlDB

不需要安装mysql odbc,http://sourceforge.net/projects/mysql-python/

目前linux版本支持到2.7,windows版本支持到2.5。

4、5、linux下pyodbc的安装

需安装unixODBC,Freetds,mysql-connector-odbc

5、linux下pyodbc的使用

pyodbc 不支持在在linux 使用如下连接方式
s= pyodbc.connect('DRIVER={SQL Server};SERVER=127.0.0.0;DATABASE=test;UID=test;PWD=test')
linux上正确的连接mssql的方式为
s= pyodbc.connect('DRIVER={FreeTDS};SERVER=127.0.0.0;DATABASE=test;UID=idc;PWD=test')

相关方法说明:
1. connection 对象
 方法
close():关闭数据库
commit():提交当前事务
rollback():取消当前事务
cursor():获取当前连接的游标
errorhandler()作为已给游标的句柄
2.cursor游标对象和方法
 方法
arrysize(): 使用fetchmany()方法时一次取出的记录数,默认为1
connection():创建此游标的连接
discription():返回游标的活动状态,包括(7要素)(name,type_code,display_size,internal_size,precision,scale,null_ok)其中name,type_code是必须的
lastrowid():返回最后更新行的id,如果数据库不支持,返回none.
rowcount():最后一次execute()返回或者影响的行数
callproc():调用一个存储过程
close():关闭游标
execute():执行sql语句或者数据库命令
executemany():一次执行多条sql语句
fetchone():匹配结果的下一行
fetchall():匹配所有剩余结果
fetchmany(size-cursor,arraysize):匹配结果的下几行
__iter__():创建迭代对象(可选,参考next())
messages():游标执行好数据库返回的信息列表(元组集合)
next():使用迭代对象得到结果的下一行
nextset():移动到下一个结果集
rownumber():当前结果集中游标的索引(从0行开始)
setinput-size(sizes):设置输入的最大值
setoutput-size(sizes[,col]):设置列输出的缓冲值

参考自:http://katrina-lxd.i.sohu.com/blog/view/184445189.htm

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有