Python での IBM データベース・サーバーへの接続

SQL ステートメントを実行してデータの作成、更新、削除、または検索を行うには、その前にデータベースに接続する必要があります。 ibm_db API を使用すると、カタログ式接続またはアンカタログ式接続のいずれかによりデータベースに接続できます。 パフォーマンスを改善するために、持続的な接続を作成することもできます。

始める前に

プロシージャー

以下のいずれかの関数を呼び出して、 IBM データベース・サーバーへの接続を確立します。
表 1. ibm_db 接続関数
関数 説明
ibm_db.connect 非持続的な接続を作成します。
ibm_db.pconnect 持続的な接続を作成します。 持続的な接続は最初の Python スクリプト要求後に開いたままになります。 このため、後続の Python 要求では接続を再利用することができます。 後続の Python 接続では、同一セットの資格情報が必要になります。

これらの関数に引数として渡されるデータベース値には、カタログしたデータベース名、または直接 TCP/IP 接続用の完全なデータベース接続ストリングを指定できます。 トランザクションをコミットするタイミング、戻される列名の大/小文字の区別、カーソル・タイプなどを制御するオプションの引数を指定できます。

接続の試行が失敗した場合、ibm_db.conn_error または ibm_db.conn_errormsg 関数を呼び出すことによって診断情報を取得できます。

ibm_db APIの詳細については、https://github.com/ibmdb/python-ibmdb/wiki/APIs

例 1
ローカル・データベースまたはカタログ・データベースに接続します。
import ibm_db
conn = ibm_db.connect("database","username","password")
例 2
カタログされていないデータベースに接続します。
import ibm_db
ibm_db.connect("DATABASE=name;HOSTNAME=host;PORT=60000;PROTOCOL=TCPIP;UID=username;
                PWD=password;", "", "")

次の作業

接続の試行が成功した場合は、SQL ステートメントを実行する ibm_db 関数を呼び出すときに接続リソースを使用できます。 次のステップは、SQL ステートメントを準備して実行することです。