pyodbc vs ADO通过COM用于Python脚本

问题描述 投票:0回答:1

多年来,我的公司使用win32com模块和ADO通过ODBC脚本连接到数据库。我不喜欢ADO,因为它很古老,因为COM本来就很慢,因为它倾向于抛出一个特殊的例外,因为我找不到任何解决方法。我们使用ODBC是因为我们不能假设我们的客户有任何特定的数据库系统(尽管他们中的大多数都使用PostgreSQL)。我们有一个包装ADO的类,并提供对ADO中大多数(可能是全部)功能的访问。我正处于建议完全转换到pyodbc的地步。在我这样做之前,我很好奇:通过win32com,ADO有优势吗?它比pyodbc有更多功能吗?

python ado pyodbc
1个回答
0
投票

ADO通过win32com有优势吗?它比pyodbc有更多功能吗?

实际上,特别是关于ODBC,不是真的。 ADODB的优势在于能够将OLEDB提供程序用于具有OLEDB提供程序但不具有ODBC驱动程序的数据库,但这种情况很少发生。 (我记得的唯一一个这样的数据库是“SQL Server Compact Edition”,很久以前就停止了。)

正如对问题的评论中所提到的,pyodbc在与数据库通信时可以避免额外的中间件层,即

你的Python应用程序↔pyodbc↔ODBC驱动程序管理器↔ODBC驱动程序↔数据库

您的Python应用程序↔win32com↔ADODB↔ODMLB提供程序用于ODBC↔ODBC驱动程序管理器↔ODBC驱动程序↔数据库

如前所述,win32com / ADODB是一种仅限Windows的技术,而如果相应的ODBC驱动程序可用于这些平台,则pyodbc解决方案也可以部署在Linux或Mac上。

© www.soinside.com 2019 - 2024. All rights reserved.