ホームページ  >  記事  >  バックエンド開発  >  Python が DB2 データベースに接続します

Python が DB2 データベースに接続します

高洛峰
高洛峰オリジナル
2017-02-25 09:54:283847ブラウズ

DB2 は、米国の IBM によって開発されたリレーショナル データベース管理システムであり、その主な動作環境は、UNIX (IBM 独自の AIX を含む)、Linux、IBM i (旧名 OS/400)、z/OS、および Windows サーバー バージョンです。 。今日は Python を使用して DB2 データベースに接続する方法について説明します

私は仕事でそのような状況に遭遇しました。このプロジェクトでは IBM のリレーショナル データベース (DB2) に接続する必要があります。その中には ibm_db があります。私はライブラリを使用し、インターネット上にチュートリアルもありましたが、不正確で、あまり詳細ではなく、エラーが多かったので、それを入手して自分でソースコードを分析するしかありませんでした。

インストール

環境要件:

最初はデータベースDB2です。ダウンロードリンクは直接Baiduです。私はこれらの2つのファイルをダウンロードしました:

Python が DB2 データベースに接続します

矢印が指すところをダウンロードするだけです。 Linux はまだテストを行ってください。

データベース API (長い間これを探していましたが、ついに適切なものを見つけました) (検索が見つかりません: SQLAPI.zip)

Python2.7

VCForPython2.7

ibm_db (メイン ライブラリ) 、インストール中にダウンロードされます ntx64_odbc_cli ライブラリはインストール中に IBM_DB_HOME 変数を検出するため、ibm_db をインストールする前にデータベースをインストールする必要があります)

上記のモジュールはオンラインで見つけることができます。自分でダウンロードしてインストールしてください。

データベースの構築

データベースのインストール後、新しいインスタンスを作成します。デフォルトは DB2 です。そして、新しいデータベースを作成します (データベースの操作とデータベースのリンクに注意してください)。 lineメソッド:

コマンドラインプロセッサを開きます: (管理者として)

Python が DB2 データベースに接続します

Enterを押すだけです。コマンドリストが表示され、データベースマネージャを開きます:

Python が DB2 データベースに接続します

その後、それを閉じて、引き続き使用しますデータベースを構築してテーブルを作成するには、db2 を使用する方が便利です。インストール中に、ルート ディレクトリに一時ディレクトリを作成し、ファイルを解凍して、Windows 7 と互換性があるように install.exe のプロパティを変更します。管理者権限で開き、左側をクリックして新しいデータベースを作成します。

Python が DB2 データベースに接続します

ユーザー名とパスワードはデータベースのインストール時に設定したものを使用します。

インスタンスが構成され、正常にテストされた後、データベースを作成できます。

Python が DB2 データベースに接続します

データベース名とエイリアスを書き留めるだけで、残りはテスト用なので省略し、正式な環境でパフォーマンスの最適化のための構成が検査されるのを待ちます。 「実行」をクリックして作成します。マシンの構成が原因かどうかはわかりませんが、このプロセスには 10 分ほどかかりました。

テーブルを作成するプロセスについては、以下では詳しく説明しません。テーブルを作成する前に、まずスキーマを作成し、カスタム スキーマを使用してテーブルを作成する必要があることに注意してください。

接続

ライブラリを直接接続してインポートします

Python が DB2 データベースに接続します

ibm_db_dbiをインポートするだけです。

import ibm_db_dbi

conn = ibm_db_dbi.connect(“PORT=50000;PROTOCOL=TCPIP;”, host=db[“host”], database=db[“database”], user=db[“user”],

password=db[“passwd”])

conn.set_autocommit(True)

cursor = conn.cursor()

データベースに接続して自動送信を設定します

Query

sql = “select * from testable”

result = cursor.execute(sql)

上記のクエリ方法は間違っていることに注意してください。次のように修正します:

sql = “select * from MYSCHEMA.TESTTABLE” 


result = cursor.execute(sql) rows = cursor.fetchall()

ここでの操作はMySQLと変わりません

この場所は数時間にわたって騙されてきました、T_T

Insert

sql = “insert into MYSCHEMA.TESTTABLE (“uuid”, “content”) values (‘%s', %s)” % (“1234567890”, “asdfghjkl”)

result = cursor.execute(sql)

Update

sql = “update \”MYSCHEMA\”.\”TESTTABLE \” set \”content\” = ‘%s' where \”uuid\” = ‘%s'” % (

“aaa”, “1234567890”)

result = cursor.execute(sql)

操作が成功した場合、各ステートメントの奇数と偶数の引用符が上記のようになっている必要があることに注意してください。

上記は、この記事で共有されている Python を使用した DB2 データベースへの接続の全内容です。友人の参考になれば幸いです。

DB2 データベースに接続する Python に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。