我应该使用什么库来连接到Windows上的python中的odbc?对于odbc来说,pywin32有一个很好的选择吗?
我正在寻找记录良好,健壮,积极维护等的内容。pyodbc
看起来不错 - 还有其他吗?
答案 0 :(得分:26)
您已经建议 pyodbc ,我将同意您的意见。
根据我的经验,它给了我最少的问题;我使用了pymssql和adodbapi,当那些抛出异常/创建的问题时,我换掉了代码并用pyodbc替换它,它修复了问题,或者提供了更好的错误信息,所以我可以调试更快。
值得一提的是,我主要用它来连接 MSSQL Server 数据库。
答案 1 :(得分:17)
我使用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。看一下,学习使用它是值得的。
答案 2 :(得分:6)
另一种选择是pypyodbc,它是用纯Python编写的。它可以看作是pyodbc模块的重新实现 - 只有大约1800行代码,这有利于维护。
答案 3 :(得分:1)
我在工作中使用pyodbc它从未让我失望(我们有varius dbs)。它坚固而快速。
它得到了积极维护,很快就会出现python 3版本。
如果您希望“企业”软件获得付费支持,则可以使用mxODBC。
答案 4 :(得分:1)
你可以给turbodbc一个旋转。从1.1.1版开始,它正式支持Windows。对于你所做的事情,它很可能比pyodbc更快。
答案 5 :(得分:0)
现在pyodbc支持Python 3!