ホームページ バックエンド開発 Python チュートリアル Python が DB2 データベースに接続します

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

Feb 25, 2017 am 09:54 AM

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 までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

LinuxターミナルでPythonバージョンを表示するときに発生する権限の問題を解決する方法は? LinuxターミナルでPythonバージョンを表示するときに発生する権限の問題を解決する方法は? Apr 01, 2025 pm 05:09 PM

LinuxターミナルでPythonバージョンを表示する際の許可の問題の解決策PythonターミナルでPythonバージョンを表示しようとするとき、Pythonを入力してください...

プロジェクトの基本と問題駆動型の方法で10時間以内にコンピューター初心者プログラミングの基本を教える方法は? プロジェクトの基本と問題駆動型の方法で10時間以内にコンピューター初心者プログラミングの基本を教える方法は? Apr 02, 2025 am 07:18 AM

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

中間の読書にどこでもfiddlerを使用するときにブラウザによって検出されないようにするにはどうすればよいですか? 中間の読書にどこでもfiddlerを使用するときにブラウザによって検出されないようにするにはどうすればよいですか? Apr 02, 2025 am 07:15 AM

fiddlereveryversings for the-middleの測定値を使用するときに検出されないようにする方法

あるデータフレームの列全体を、Python内の異なる構造を持つ別のデータフレームに効率的にコピーする方法は? あるデータフレームの列全体を、Python内の異なる構造を持つ別のデータフレームに効率的にコピーする方法は? Apr 01, 2025 pm 11:15 PM

PythonのPandasライブラリを使用する場合、異なる構造を持つ2つのデータフレーム間で列全体をコピーする方法は一般的な問題です。 2つのデータがあるとします...

uvicornは、serving_forever()なしでhttpリクエストをどのように継続的に聞いていますか? uvicornは、serving_forever()なしでhttpリクエストをどのように継続的に聞いていますか? Apr 01, 2025 pm 10:51 PM

UvicornはどのようにしてHTTPリクエストを継続的に聞きますか? Uvicornは、ASGIに基づく軽量のWebサーバーです。そのコア機能の1つは、HTTPリクエストを聞いて続行することです...

文字列を介してオブジェクトを動的に作成し、Pythonでメソッドを呼び出す方法は? 文字列を介してオブジェクトを動的に作成し、Pythonでメソッドを呼び出す方法は? Apr 01, 2025 pm 11:18 PM

Pythonでは、文字列を介してオブジェクトを動的に作成し、そのメソッドを呼び出す方法は?これは一般的なプログラミング要件です。特に構成または実行する必要がある場合は...

See all articles