Python 数据库接口模块::-- swordsp [2007-01-16 13:36:01]
本条目收集了 Python 中的常用数据库接口模块,包括各种主流关系数据库和一些通用接口
如无特别注明,均实现(或部分实现)了 DB-API 标准。
更广泛的 Python 数据库技术参见 Python 数据库开发概要
1. 专用数据库连接模块
1.1. MySQL
MySQL -- 最流行的开源数据库
1.2. SQLite
SQLite -- 小巧轻便的嵌入式数据库
pysqlite -- SQLite 的半官方性质 Python 接口,Python 2.5 之后已成为标准库 sqlite3
1.3. PostgreSQL
PostgreSQL -- 比 MySQL 功能更强大、历史更悠久的开源数据库
PyGreSQL -- 历史最悠久,最流行的 PostgreSQL 接口
psycopg2 -- 特别为高并发环境设计的 PostgreSQL 驱动
pyPgSQL -- Python世界里的另一个 PostgreSQL 接口
1.4. Oracle
Oracle -- 数据库领域中的巨鳄,最为强大先进的商业数据库产品
DCOracle2 -- Zope 出品的 Oracle 驱动
cx_Oracle -- 另一个 Oracle 接口模块
1.5. IBM DB2
pydb2 -- DB2 的 Python 接口,此外还包括了若干小工具
1.6. SAP DB
sapdbapi -- SAP DB 的 Python 接口
1.7. Infomix
1.8. Interbase
kinterbasdb -- Interbase 4.0 和 5.0 的 Python接口
1.9. Ingres
1.10. Sybase
Sybase module for Python -- Sybase 的 DB-API 2.0 接口
1.11. SQL Server
pymssql 0.7.1 已经在 FreeBSD 5.4, 6.0, NetBSD 2.0.2, Linux with kernel 2.6, Solaris 10/x86, Mac OS X, Windows XP等多种平台上测试通过.
pymssql 0.7.4 经测试支持 SQL Server 2000, all service pack levels. pymssql 0.7.4 on Windows 经测试支持 SQL Server 2000 RTM, SP3a and SP4,SQL Server 2005 RTM.
其他版本的SQL Server也可能被支持.
在Windows平台下使用MS SQL DB-Library, 在Linux等平台使用Freetds连接SQL Server.
目前常见的一些问题: 不支持SQL Server的ntext数据类型,请把ntext类型的字段修改为nvarchar.--nEO
1.12. ThinkSQL
ThinkSQL -- 一个内置了Python接口的商业数据库产品
1.13. Matisse
Matisse -- 商业数据库产品Matisse,内置 Python 绑定支持,非 DB-API兼容。
2. 通用数据库接口模块
2.1. ODBC
mxODBC -- 流行的 mx 系列工具包中的一部分,也是其中唯一的商业产品(用于非商业开发不需付费)。实现了绝大部分 DB-API 2.0 接口。
pyodbc -- 开源的 Python ODBC 接口,完整实现了 DB-API 2.0 接口
ODBC Interface -- 随 PythonWin 附带发行的模块,文档和维护缺乏
2.2. JDBC
zxJDBC -- 专为 Jython 设计的 DB-API 2.0 接口,建立在底层的 JDBC 接口之上。已经包含在 Jython 2.1 以后的发行版中。
2.3. SQLRelay
SQLRelay -- Unix 环境下的通用数据库连接池,支持多种数据库和编程语言,提供了自己的 Python 接口,非 DB-API 兼容。
3. 其它模块
3.1. Gadfly
Gadfly 是 Python 实现的一个轻型 in-memory 关系数据库,本身即提供 DB-API 兼容的访问接口。