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