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()作为已给游标的句柄 |
|
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