首页 > 技术文章 > Python与数据库[1] -> 数据库接口/DB-API[3] -> ODBC 适配器

stacklike 2018-01-02 20:11 原文

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尚未连接成功

 

相关阅读


1. 使用 Python 建立 MySQL 适配器

2. DB-API 通用标准

 

参考链接


https://zhidao.baidu.com/question/1050890691174410619.html

http://sourceforge.net/projects/mysql-python/

推荐阅读