我正在使用 python 重新编写一个 perl 程序。在 perl 程序中,它使用 perl 数据库接口 (DBI) 来执行 Oracle 数据库操作。例如,DBI->connect 连接数据库,然后prepare() sql 查询然后execute() 查询和fetch() 结果。我想知道 Python 是否有类似的官方模块或其他方式来做同样的事情?我在两个不同的 RHEL 6.3 环境中使用 python 2.4 和 2.6。提前致谢!
问问题
133 次
1 回答
3
- 对于 SQLite3,有内置
sqlite3
模块:http ://docs.python.org/2/library/sqlite3.html - 对于 PostgreSQL,有:http
psycopg2
: //initd.org/psycopg/ - 对于 MySQL,有 MySQLdb:http ://mysql-python.sourceforge.net/MySQLdb.html
- 对于 MS SQL Server,有 pyodbc:http ://code.google.com/p/pyodbc/ ...或http://code.google.com/p/pymssql/
- 对于甲骨文:
@falsetru提到的 PEP249 更像是对符合标准的 Python DB 驱动程序的 API 应该是什么样子的抽象描述。然而,它在某种程度上类似于 DBI,因为 Python 的许多(如果不是大多数或全部)DB 驱动程序确实具有非常相似的 API,就像 DBI 如何允许您使用统一的 API 连接到许多 RDBMS 一样。
PLUG:也可以看看 Pony ORM——它是一个很棒的新 ORM,带有 Oracle 支持: http: //ponyorm.com。
目前 Pony 支持 4 种类型的数据库:'sqlite'、'mysql'、'postgresql' 和'oracle'
它支持 Python 2.5 或更高版本,但您可以使用pythonz、pyenv轻松安装任何没有 root 权限的 Python 版本或Conda。
于 2013-10-02T16:22:56.247 回答