Python中最受欢迎的开源ODBC接口有哪些?

2 投票
3 回答
3980 浏览
提问于 2025-04-16 06:05

我在想,最受欢迎的开源 ODBC/数据库连接库有哪些。

我听说过 pyodbc,但不太确定它的使用情况有多广泛。

谢谢!

3 个回答

0

http://wiki.python.org/moin/ODBC 这个链接介绍了一些适用于Python的ODBC解决方案。pyodbc看起来是你最好的选择,原因有几个:

  1. 它似乎是唯一一个开源的选项,使用的是MIT风格的许可证。
  2. 它可以在不同的平台上使用。

可惜的是,我现在无法提供更多的信息,因为Google Code网站暂时无法访问,而pyodbc就托管在那个网站上(还有很多其他项目)。不过,它似乎是最接近标准解决方案的。

更新

Google Code现在恢复了访问,从项目网站来看,pyodbc得到了非常积极的维护和更新,而且它似乎也在跟上Python的版本,3.x的版本很快就会推出。

1

我还想提一下 turbodbc。它是一个开源项目,维护得很好,支持Python 2和3,并且可以在Linux、OSX和Windows上使用。你可以试试这个,因为它在性能上常常比pyodbc更好,主要是因为它使用了批量操作。如果你对NumPy感兴趣,它也提供了内置支持。可以看看 官方文档,特别是 入门指南

1

如果你使用的是Windows系统,那么在常见的Active State版本中,你会找到一个叫做odbc的模块。我认为它是pywin32这个包的一部分。当然,如果你不使用Windows,pyodbc会更好用。你只需要做的就是:

import odbc
connection = odbc.odbc('dsnname/user/passwd')

虽然pydobc的连接字符串看起来不一样,但你可以让你的程序同时支持这两个库的工作:

if '/' in connect_string:
    import odbc
    # dsnname/user/password
    _CONN = odbc.odbc(connect_string)
elif connect_string.startswith('Driver='):
    import pyodbc
    # Driver={PostgreSQL};Server=db-test;Port=5435;Database=dbname;Uid=user;Pwd=password;
    _CONN = pyodbc.connect(connect_string)

撰写回答