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]):設置列輸出的緩沖值
