1

Python 2.7(python-2.7.1.amd64.msi)と、DB2データベースに接続するためのpython拡張モジュールであるpyodbc(つまり、pyodbc-2.1.8.win-amd64-py2.7.exe)をダウンロードしました。

以下に示すようにサンプルスクリプトを作成しました。

import csv 
import pyodbc 
conn = pyodbc.connectpyodbc.connect('DRIVER={DB2};SERVER=localhost;DATABASE=DBT1;UID=scott;PWD=tiger;')  
curs = conn.cursor() 
curs.execute('select count(edokimp_id) from edokimp') 
print curs.fetchall() 

スクリプトは次のエラーをスローします

pyodbc.Error: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnectW)')

私はPythonの初心者なので、エラーからpyodbc用のIBM DB2ドライバーをダウンロードする必要があることに気付きました。そのため、Googleで広範囲に検索しましたが、見つかりませんでした。

ドライバーをダウンロードできるサイトを教えていただければ幸いです。後でドライバーの構成/ロード方法を説明していただければ幸いです。

Javaの場合

  • ドライバはojdbc.jarの形式で出荷され、クラスパス上にあるlibディレクトリにコピーされます。
  • 構成ファイルに変更を加える
  • Javaクラスからのデータソースを参照する

私はPythonの初心者なので、Pythonの例を使用して対応する手順を教えていただければ幸いです。

4

3 に答える 3

1

プロジェクトのホームページでPyDB2 ドライバーを入手できます。

公式の Python でコンパイルの問題が発生した場合、ActivePythonは Windows 上の Python の優れた代替ディストリビューションです。

編集: DB2 ヘッダーを求められた場合は、IBM Data Server Client for ODBC and CLIを取得する必要があります。

于 2010-12-15T19:52:44.787 に答える
0

pyodbcを使用して動作します接続文字列が間違っていると思います。いくつかの調査とテストの後、私はこのコードで解決しました:

con = pyodbc.connect('DRIVER=iSeries Access ODBC Driver;SYSTEM=10.0.0.1;UID=bubi;PWD=xyz;DBQ=DEFAULTSCHEMA;EXTCOLINFO=1')
cur = con.cursor()
cur.execute('select * from MYTABLE')
row = cur.fetchone()
if row:
    field1 = row[0] 
    field2 = row[1]
# etc...

ご覧のとおり、システムでDSNを構成する必要はありません

于 2012-02-22T15:53:43.477 に答える