admin管理员组

文章数量:1794759

Python 读取Sql Server数据库

Python 读取Sql Server数据库

pyodbc模块 

pyodbc是ODBC的一个Python封装,它允许任何平台上的python具有使用ODBC API的能力。要想与SqlServer数据库进行交互,需要先导入pyodbc模块。pyodbc的最新版是pyodbc3.0.7,下载地址为:pypi.python/pypi/pyodbc/

读取mysql的实例 ''' Created on Sep 11, 2014 @author: liu.chunming ''' import pyodbc def get_sms_operator(sectorNumber='0'): cnxn=pyodbc.connect("DRIVER={SQL SERVER};SERVER=10.86.9.171;DATABASE=MCASDB;UID=mcas;PWD=Bdclab123") cur=cnxn.cursor() select="Select smsOperatorTag from [MCASDB].[dbo].[CaSMSOperator] where sectorNumber="+str(sectorNumber) cur.execute(select) #rows=cur.fetchall() row=cur.fetchone() if row: return row else: raise Exception,"There seems no operator on sector:"+str(sectorNumber) cnxn.close() for row in get_sms_operator(0): print row 实例解析

1.首先,建立与SqlServer连接,生成connection对象cnxn。

2.获取当前连接的游标cur。

3.利用游标执行sql查询。

4.利用fetchall返回查询结果的所有记录,即返回多个记录(rows),如果没有结果 则返回 () ;利用fetchone返回查询结果的第一行,如果没有结果 则返回 None。

5.关闭连接。

相关方法 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]):设置列输出的缓冲值
参考资料

tech.it168/a2009/1014/759/000000759444_2.shtml

www.itpub/forum.php?mod=viewthread&tid=813849

本文标签: 数据库PythonSQLSERVER