windows上从python连接odbc的常用方法? [关闭]

Posted

技术标签:

【中文标题】windows上从python连接odbc的常用方法? [关闭]【英文标题】:Common ways to connect to odbc from python on windows? [closed] 【发布时间】:2010-10-20 13:53:19 【问题描述】:

我应该使用什么库来从 windows 上的 python 连接到 odbc?就 odbc 而言,pywin32 有什么好的替代方案吗?

我正在寻找有据可查、健壮、积极维护等的东西。pyodbc 看起来不错——还有其他的吗?

【问题讨论】:

【参考方案1】:

你已经建议了 pyodbc,我会同意你的。

在我的经验中,它给我的问题最少;我使用了pymssql 和adodbapi,当它们抛出异常/创建问题时,我换掉了代码并用 pyodbc 替换它,它要么解决了问题,要么给出了更好的错误消息,以便我可以更快地调试。

值得一提的是,我主要使用它来连接 MSSQL Server 数据库。

【讨论】:

【参考方案2】:

我使用SQLAlchemy 进行所有python 数据库访问。我强烈推荐 SQLAlchemy。

SA 在连接到 SQL Server 数据库时在后台使用 pyodbc。它使用其他 DBAPI 库连接到其他数据库,例如 cx_Oracle。

一个简单的示例,使用 SQLAlchemy,就像您通常使用 DBAPI 模块一样:

import sqlalchemy

engine = sqlalchemy.create_engine('sqlite:///database.db')
for r in engine.execute('SELECT * FROM T'):
    print(r.OneColumn, r.OtherColumn)

但 SQLAlchemy 的真正价值在于它的ORM 和SQL expression language。看看吧,值得努力学习使用。

【讨论】:

SQLAlchemy 让我可以轻松地在 odbc 和 adodbapi 之间切换,而无需更改超过两行代码。【参考方案3】:

另一种选择是pypyodbc,它是用纯 Python 编写的。它可以看作是对 pyodbc 模块的重新实现——只有大约 1800 行代码,有利于维护。

这是Hello World sample of accessing mssql in Python。

【讨论】:

【参考方案4】:

我在工作中使用 pyodbc,它从来没有让我失望过(我们有各种 dbs)。它健壮且快速。

它正在积极维护,python 3 版本即将推出。

如果您想要获得付费支持的“企业”软件,您可以使用mxODBC。

【讨论】:

pyodbc 在 Windows python 3.1.2 上不适合我 :( python 3 没有官方构建 :( 我也在等一个。有一个非官方的,你必须自己构建【参考方案5】:

您可以试一试turbodbc。从 1.1.1 版本开始,正式支持 Windows。很有可能它比 pyodbc 更快。

【讨论】:

【参考方案6】:

pyodbc! 现在支持 Python 3!

【讨论】:

这是如何响应的?没有解决 OP 问题。

以上是关于windows上从python连接odbc的常用方法? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

在 Windows 上从 PHP 读取 Microsoft Excel 文件

无法在 Windows 上从 Python 连接到 MSSQL Server

在 Windows 上从 python 运行星露谷物语

32位电脑ODBC连接

在 Windows 10 上从 python 运行时 ffmpeg.probe 不起作用

我出现odbc连接不上的问题