PHP マニュアル
前のページ |  | 次のページ

# db2_connect

(PECL)

db2_connect -- データベースへの接続を返す

## 説明

resource db2_connect ( string database, string username, string password [, array options] )

IBM DB2 Universal Database、IBM Cloudscape あるいは Apache Derby データベースへの新しい接続を作成します。

## パラメータ

database

  データベースへのカタログ接続の場合には、database は DB2 クライアントカタログ内でのデータベースエイリアスを表します。

  データベースへの非カタログ接続の場合には、 database は以下のような形式の接続文字列を表します。 DRIVER={IBM DB2 ODBC DRIVER};DATABASE=database;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=password; それぞれのパラメータは以下の内容を表します。

  database

    データベースの名前。

  hostname

    データベースサーバのホスト名あるいは IP アドレス。

  port

    データベースが要求を待ち受ける TCP/IP ポート。

  username

    データベースに接続するユーザ名。

  password

    データベースに接続するパスワード。

username

  データベースに接続するユーザ名。

  カタログでない接続の場合は、`NULL` あるいは空の文字列を渡す必要があります。

password

  データベースに接続するパスワード。

  カタログでない接続の場合は、`NULL` あるいは空の文字列を渡す必要があります。

options

  接続の振る舞いを指定する接続オプションの連想配列。 使用可能なキーは以下のとおりです。

  autocommit

    DB2_AUTOCOMMIT_ON を渡すと、 この接続ハンドルで自動コミットを有効にします。

    DB2_AUTOCOMMIT_OFF を渡すと、 この接続ハンドルで自動コミットを無効にします。

  DB2_ATTR_CASE

    DB2_CASE_NATURAL を渡すと、 カラム名の大文字小文字を変換せずに返します。

    DB2_CASE_LOWER を渡すと、 カラム名を小文字に変換して返します。

    DB2_CASE_UPPER を渡すと、 カラム名を大文字に変換して返します。

  CURSOR

    DB2_FORWARD_ONLY を渡すと、 ステートメントリソースで前進のみのカーソルを使用します。 これはデフォルトのカーソル型であり、 すべてのデータベースサーバでサポートされています。

    DB2_SCROLLABLE を渡すと、 ステートメントリソースでスクロール可能なカーソルを使用します。 このモードでは結果セット内の行へのランダムアクセスが可能となりますが、 現在は IBM DB2 Universal Database でしかサポートされていません。

## 返り値

接続に成功した場合は接続ハンドルリソースを返します。 接続に失敗した場合は、db2_connect() は `FALSE` を返します。

## 例

例 1. カタログ接続の作成

カタログ接続を行うには、DB2 コマンドラインプロセッサ (CLP) あるいは DB2 Configuration Assistant を使用して 事前に対象データベースをカタログしておく必要があります。

`<?php $database = 'SAMPLE'; $user = 'db2inst1'; $password = 'ibmdb2'; $conn = db2_connect($database, $user, $password); if ($conn) { echo "接続に成功しました。"; db2_close($conn); } else { echo "接続に失敗しました。"; } ?>`

上の例の出力は以下となります。

    接続に成功しました。

例 2. 非カタログ接続の作成

非カタログ接続の場合は、データベースに動的に接続することができます。

`<?php $database = 'SAMPLE'; $user = 'db2inst1'; $password = 'ibmdb2'; $hostname = 'localhost'; $port = 50000; $conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;" . "HOSTNAME=$hostname;PORT=$port;PROTOCOL=TCPIP;UID=$user;PWD=$password;"; $conn = db2_connect($conn_string, '', ''); if ($conn) { echo "接続に成功しました。"; db2_close($conn); } else { echo "接続に失敗しました。"; } ?>`

上の例の出力は以下となります。

    接続に成功しました。

例 3. 自動コミットをデフォルトで無効にした接続の作成

オプションの配列を db2_connect() に渡すことで、接続ハンドルのデフォルトの振る舞いを変更できます。

`<?php $database = 'SAMPLE'; $user = 'db2inst1'; $password = 'ibmdb2'; $options = array('autocommit' => DB2_AUTOCOMMIT_OFF); $conn = db2_connect($database, $user, $password, $options); if ($conn) { echo "接続に成功しました。\n"; if (db2_autocommit($conn)) { echo "自動コミットが有効です。\n"; } else { echo "自動コミットは無効です。\n"; } db2_close($conn); } else { echo "接続に失敗しました。"; } ?>`

上の例の出力は以下となります。

    接続に成功しました。
    自動コミットは無効です。

## 参考

db2_close()
db2_pconnect()

前のページ | ホーム | 次のページ
db2_conn_errormsg | 上に戻る | db2_cursor_type