DB2 は、米国の IBM によって開発されたリレーショナル データベース管理システムであり、その主な動作環境は、UNIX (IBM 独自の AIX を含む)、Linux、IBM i (旧名 OS/400)、z/OS、および Windows サーバー バージョンです。 。今日は Python を使用して DB2 データベースに接続する方法について説明します
私は仕事でそのような状況に遭遇しました。このプロジェクトでは IBM のリレーショナル データベース (DB2) に接続する必要があります。その中には ibm_db があります。私はライブラリを使用し、インターネット上にチュートリアルもありましたが、不正確で、あまり詳細ではなく、エラーが多かったので、それを入手して自分でソースコードを分析するしかありませんでした。
インストール
環境要件:
最初はデータベースDB2です。ダウンロードリンクは直接Baiduです。私はこれらの2つのファイルをダウンロードしました:
矢印が指すところをダウンロードするだけです。 Linux はまだテストを行ってください。
データベース API (長い間これを探していましたが、ついに適切なものを見つけました) (検索が見つかりません: SQLAPI.zip)
Python2.7
VCForPython2.7
ibm_db (メイン ライブラリ) 、インストール中にダウンロードされます ntx64_odbc_cli ライブラリはインストール中に IBM_DB_HOME 変数を検出するため、ibm_db をインストールする前にデータベースをインストールする必要があります)
上記のモジュールはオンラインで見つけることができます。自分でダウンロードしてインストールしてください。
データベースの構築
データベースのインストール後、新しいインスタンスを作成します。デフォルトは DB2 です。そして、新しいデータベースを作成します (データベースの操作とデータベースのリンクに注意してください)。 lineメソッド:
コマンドラインプロセッサを開きます: (管理者として)
Enterを押すだけです。コマンドリストが表示され、データベースマネージャを開きます:
その後、それを閉じて、引き続き使用しますデータベースを構築してテーブルを作成するには、db2 を使用する方が便利です。インストール中に、ルート ディレクトリに一時ディレクトリを作成し、ファイルを解凍して、Windows 7 と互換性があるように install.exe のプロパティを変更します。管理者権限で開き、左側をクリックして新しいデータベースを作成します。
ユーザー名とパスワードはデータベースのインストール時に設定したものを使用します。
インスタンスが構成され、正常にテストされた後、データベースを作成できます。
データベース名とエイリアスを書き留めるだけで、残りはテスト用なので省略し、正式な環境でパフォーマンスの最適化のための構成が検査されるのを待ちます。 「実行」をクリックして作成します。マシンの構成が原因かどうかはわかりませんが、このプロセスには 10 分ほどかかりました。
テーブルを作成するプロセスについては、以下では詳しく説明しません。テーブルを作成する前に、まずスキーマを作成し、カスタム スキーマを使用してテーブルを作成する必要があることに注意してください。
接続
ライブラリを直接接続してインポートします
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 サイトに注目してください。