2009-04-20 4 views

答えて

26

あなたはすでにpyodbcを提案しており、私はあなたに同意するつもりです。

私の経験では、それが私にはほとんど問題を与えていません。私はpymssqladodbapiを使用していましたが、それらが例外を投げたとき/作成したときに、コードを交換してpyodbcに置き換えて問題を解決するか、より良いエラーメッセージを出してより速くデバッグすることができました。

私は主にそれを使用してMSSQLサーバー DBに接続することに言及する価値があります。

17

すべてのpythonデータベースアクセスにSQLAlchemyを使用します。 SQLAlchemyを強くお勧めします。

SAは、SQLサーバーデータベースに接続するときにフードの下で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のの本当の価値は、そのORMSQL expression languageにあります。見て、それは使用することを学ぶ努力の価値があります。

+0

SQLAlchemyでは、2行以上のコードを変更することなく、odbcとadodbapiを切り替えることが非常に簡単になりました。 –

+0

+1 - ありがとう! –

1

私は仕事でpyodbcを使用しています。私は(私たちはvarius dbsを持っています)私を失敗させたことはありません。堅牢で高速です。

これは積極的に維持されており、Python 3のバージョンがすぐに公開されます。

有償サポートのエンタープライズソフトウェアをご希望の場合はmxODBCをご利用ください。

+0

pyodbcはWindowsで動作しませんpython 3.1.2 :( –

+0

python 3の公式ビルドはありません:(私も1つも待っています)あなた自身がビルドしなければならない非公式なものがあります – hugo24

1

Python 3は現在pyodbcでサポートされています!

+3

これはどのように応答ですか? OP質問に対処する。 – Anoyz

0

turbodbcを送信できます。バージョン1.1.1以降、Windowsは正式にサポートされています。あなたがしていることに対してpyodbcよりも速いという良いチャンスがあります。

関連する問題