在Windows上从python连接到odbc的常用方法?

use*_*021 23 python windows odbc pywin32 pyodbc

我应该使用什么库来连接到Windows上的python中的odbc?有关odbc的pywin32有什么好的选择吗?

我正在寻找记录良好,健壮,积极维护等等的东西pyodbc看起来很好 - 还有其他吗?

Jas*_*oon 26

您已经建议使用pyodbc,我将同意您的看法.

根据我的经验,它给了我最少的问题; 我使用了pymssqladodbapi,当那些抛出异常/创建的问题时,我换掉了代码并用pyodbc替换它,它修复了问题,或者提供了更好的错误消息,因此我可以更快地调试.

值得一提的是,我主要使用它连接到MSSQL Server DB.


cod*_*ape 17

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

连接到SQL Server数据库时,SA使用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)
Run Code Online (Sandbox Code Playgroud)

但SQLAlchemy的真正价值在于它的ORMSQL表达式语言.看一下,学习使用它是值得的.


pyp*_*dbc 7

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

这是一个在Python中访问mssqlHello World示例.