Windowsでpythonからodbcに接続するには、どのライブラリを使用する必要がありますか?odbcに関してはpywin32の良い代替手段はありますか?
十分に文書化され、堅牢で、積極的に保守されているものなどを探しています。 pyodbc
よさそうです-他に何かありますか?
私はすべてのpythonデータベースアクセスに SQLAlchemy を使用します。SQLAlchemyを強くお勧めします。
SAは、SQLサーバーデータベースに接続するときに、内部でpyodbcを使用します。他のDBAPIライブラリを使用して、cx_Oracleなどの他のデータベースに接続します。
通常DBAPIモジュールを使用するようにSQLAlchemyを使用する単純な例:
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式言語 にあります。見てください、それは使い方を学ぶために努力する価値があります。
別の選択肢は pypyodbc で、これは純粋なPythonで書かれています。これは、pyodbcモジュールの再実装と見なすことができます。コードは約1800行で、メンテナンスに適しています。
turbodbc スピンを与えることができます。バージョン1.1.1以降、Windowsを正式にサポートしています。あなたがしていることに関しては、pyodbcよりも速い可能性が高いです。
私は仕事でpyodbcを使用していますが、失敗したことはありません(varius dbsがあります)。堅牢で高速です。
それは積極的に維持されており、python 3バージョンがまもなく登場します。
有料サポート付きの「エンタープライズ」ソフトウェアが必要な場合は、 mxODBC を使用できます。