Python与数据库[1] -> 数据库接口/DB-API[3] -> ODBC 适配器
ODBC适配器 / ODBC Adaptor
ODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。
1 ODBC环境配置 / ODBC Configuration
安装ODBC的Python包
pip install pyodbc
对于pyodbc连接不同数据库的配置可参考链接。
1. 连接sql server: DRIVER={SQL Server};
2. 连接mysql: Driver={MySQL ODBC 5.x Driver}需要安装mysql odbc:
3. MysqlDB
不需要安装mysql odbc,
目前linux版本支持到2.7,windows版本支持到2.5。
4. 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')
2 ODBC连接数据库 / ODBC Connect Database
使用pyodbc对数据库进行连接,
1 import pyodbc as odbc 2 3 def connect(**kwargs): 4 cnx = odbc.connect(**kwargs) 5 cur = cnx.cursor() 6 sql='SELECT * FROM information_schema.TABLES' 7 cur.execute(sql) 8 re = cur.fetchall() 9 print(re) 10 cur.close() 11 cnx.close() 12 13 connect(host='host', user='user', password='password', database='db', charset='UTF-8', driver='SQL Server') 14 15 # connect(host='localhost', user='root', password='root', charset='UTF-8', driver='MySQL ODBC 5.3 Driver')
Note: 此处使用odbc成功连接了SQL Server,但对于MySQL尚未连接成功
相关阅读
2. DB-API 通用标准