ナビゲーションをスキップ

WebLogic Type 4 JDBC ドライバ ガイド

  前 次 前/次ボタンと目次ボタンとの区切り線 目次  

Informix ドライバ

以下の節では、BEA WebLogic Type 4 JDBC Informix ドライバのコンフィグレーション方法と使用方法について説明します。

 


Informix データベース バージョンのサポート

BEA WebLogic Type 4 JDBC Informix ドライバ (「Informix ドライバ」) は次のバージョンをサポートします。

 


Informix ドライバ クラス

BEA WebLogic Type 4 JDBC Informix ドライバのドライバ クラスは次のとおりです。

XA : weblogic.jdbcx.informix.InformixDataSource

非 XA : weblogic.jdbc.informix.InformixDriver

WebLogic Server ドメインに JDBC データ ソースをコンフィグレーションする場合に、これらのドライバ クラスを使用します。

 


Informix URL

Informix データベースに接続するには、次の形式の URL を使用します。

jdbc:bea:informix://dbserver1:1543;informixServer=dbserver1;databaseName=dbname

 


Informix 接続プロパティ

表 4-1 に、Informix ドライバでサポートされる JDBC 接続プロパティを示し、各プロパティについて説明します。WebLogic Server ドメインの JDBC データ ソースのコンフィグレーションでこれらの接続プロパティを使用できます。プロパティを指定するには、JDBC データ ソースのコンフィグレーションで次の形式を使用します。

property=value

注意 : すべての接続プロパティ名で大文字と小文字は区別されません。たとえば、Password は password と同じです。

表 4-1 Informix の接続文字列のプロパティ 

プロパティ

説明

CodePageOverride

省略可能

ドライバが文字データの変換に使用するコード ページ。指定したコード ページによって、デフォルトのデータベース コード ページがオーバーライドされる。データベースとやり取り (取得および書き込み) するすべての文字データは、指定したコード ページを使用して変換される。値としては、使用している Java 仮想マシンでサポートされている有効なコード ページの名前 (たとえば CodePageOverride=CP950) を含む文字列を指定する必要がある。

ConnectionRetryCount

省略可能

データベース サーバ (プライマリや代替) への正常な接続を確立できるまでに、ドライバで接続を再試行する回数。有効な値は、0 または正の整数。

0 に設定すると、リスト内のデータベース サーバへの試行が一巡して接続が確立できなかった場合でも接続は再試行されない。

デフォルトは 0。

ConnectionRetryDelay

省略可能

ConnectionRetryCount が正の整数に設定されている場合に、ドライバがそれぞれの再試行の間に待機する秒数。

デフォルトは 3。

DatabaseName

省略可能

接続先のデータベースの名前。

このプロパティを指定しない場合、指定したサーバへの接続は確立されるが、特定のデータベースには接続されない。データベースに接続せずに確立されたサーバへの接続では、アプリケーションで SQL 文の CREATE DATABASE および DROP DATABASE を使用できる。これらの文を使用する場合は、ドライバをデータベースに接続することはできない。アプリケーションは、DATABASE SQL 文を実行して接続を確立した後でデータベースに接続できる。

SQL 文の CREATE DATABASE、DROP DATABASE、および DATABASE の使用方法については、IBM Informix のマニュアルを参照。

InformixServer

接続先の Informix データベース サーバの名前。

InsensitiveResultSetBufferSize

省略可能

-1、0、または x。ドライバがインセンシティブな結果セット データのキャッシュに使用するメモリの量を指定する。

-1 に設定すると、ドライバはすべてのインセンシティブな結果セット データをメモリにキャッシュする。結果セットのサイズが利用できるメモリ容量を超えると、OutOfMemoryException 例外が生成される。結果セット データをディスクに書き込む必要がないため、データがより効率的に処理される。

0 に設定すると、ドライバは 2GB を限度としてすべてのインセンシティブな結果セット データをメモリにキャッシュする。結果セットのサイズが利用できるメモリ容量を超えると、結果セットがディスクにページングされる。結果セット データがディスクに書き込まれる可能性があるため、ディスクに正しく書き込むためにデータの再フォーマットが必要になることがある。

x (正の整数) に設定すると、インセンシティブな結果セット データのキャッシュに使用するメモリ バッファのサイズ (KB 単位) を指定したことになり、ドライバはすべての結果セット データをメモリにキャッシュする。結果セットのサイズがバッファ サイズを超えると、結果セットがディスクにページングされる。結果セット データがディスクに書き込まれる可能性があるため、ディスクに正しく書き込むためにデータの再フォーマットが必要になることがある。バッファ サイズとして 2 の累乗を指定すると、メモリの使用がより効率的になる。

デフォルトは 2048 (KB)。

LoginTimeout

省略可能

データベース接続の作成の試行を待機する最大時間 (秒単位)。値 0 は、デフォルトのシステム タイムアウトがある場合はそのタイムアウトを使用し、それ以外の場合はタイムアウトがないことを指定する。

Password

Informix データベースに接続する場合に使用するパスワード。大文字と小文字は区別されない。パスワードは、データベースでセキュリティが有効化されている場合にのみ必要となる。その場合は、システム管理者に連絡してパスワードを取得する。

PortNumber

データベース サーバが接続をリスンする TCP ポート。デフォルトはオペレーティング システムによって異なる。

ServerName

プライマリ データベース サーバの IP アドレスまたはサーバ名 (ネットワークが名前付きのサーバをサポートしている場合) を指定する。たとえば、122.23.15.12 または InformixServer のように指定する。

User

Informix データベースに接続する場合に使用するデフォルトのユーザ名。大文字と小文字は区別されない。ユーザ名は、データベースでセキュリティが有効化されている場合にのみ必要となる。その場合は、システム管理者に連絡してユーザ名を取得する。


 

Prepared Statement に関する Informix の制限

インデックスの追加、プロシージャのリコンパイルなど、データベース テーブルやプロシージャを変更する操作が発生した場合、これらにアクセスする既存の JDBC Prepared Statement はすべて、再使用する前に再準備の工程を経る必要があります。これは Informix データベース管理システムの制限です。WebLogic Server では、プールされた接続と同様に、アプリケーションの Prepared Statement もキャッシュ、保持、再使用されます。ただし、削除後に再作成されたり定義が変更されたりしたテーブルやプロシージャにアクセスする Prepared Statement をアプリケーションで使用する場合は、キャッシュされた Prepared Statement を再実行するといったん失敗します。実行できなくなった PreparedStatement はその後キャッシュから削除され、アプリケーションでその PreparedStatement がもう一度要求されたときに置き換えられます。

WebLogic Server の実行時に DBMS 内のテーブルやプロシージャを変更したために Prepared Statement が失敗するのを防ぐには、[Statement キャッシュ サイズ] を 0 に設定します。これにより、リクエストのたびに新しい Prepared Statement が作成されるようになります。ただし、Statement キャッシュを無効にすると、Statement のキャッシングによるパフォーマンスの向上は見込めなくなります。

Statement キャッシュ サイズの設定については、『WebLogic JDBC のコンフィグレーションと管理』の「ステートメント キャッシュによるパフォーマンスの向上」を参照してください。

 


データ型

表 4-2 に、Informix ドライバでサポートされるデータ型と、それらが JDBC データ型へどのようにマップされるかを示します。

表 4-2 Informix データ型 

Informix のデータ型

JDBC のデータ型

blob

BLOB

boolean

BIT

byte

LONGVARBINARY

clob

CLOB

char

CHAR

date

DATE

datetime hour to second

TIME

datetime year to day

DATE

datetime year to fraction(5)

TIMESTAMP

datetime year to second

TIMESTAMP

decimal

DECIMAL

float

FLOAT

int8

BIGINT

integer

INTEGER

lvarchar

VARCHAR

money

DECIMAL

nchar

CHAR

nvarchar

VARCHAR

serial

INTEGER

serial8

BIGINT

smallfloat

REAL

smallint

SMALLINT

text

LONGVARCHAR

varchar

VARCHAR


 

データ型の詳細については、「getTypeInfo」を参照してください。

 


SQL エスケープ シーケンス

Informix ドライバでサポートされている SQL エスケープ シーケンスについては、「JDBC の SQL エスケープ シーケンス」を参照してください。

 


アイソレーション レベル

Informix は、アイソレーション レベルとして Read Committed、Read Uncommitted、Repeatable Read、および Serializable をサポートしています。デフォルトは Read Committed です。

 


スクロール可能なカーソルの使用

Informix ドライバは、スクロールセンシティブな結果セット、スクロールインセンシティブな結果セット、および更新可能な結果セットをサポートしています。

注意 : Informix ドライバが、要求された結果セットのタイプまたは同時実行性をサポートできない場合は、カーソルを自動的にダウングレードして詳細情報の入った SQLWarning を生成します。

 


パラメータ メタデータのサポート

Informix ドライバでは、Insert 文および Update 文についてのみパラメータ メタデータがサポートされています。Select 文やストアド プロシージャの引数については、パラメータ メタデータは返されません。

 


Blob および Clob の検索

Clob.position メソッドを使用して文字列パターンの Clob 値を検索する場合は、検索パターンを最大値である 4096 バイト以下にする必要があります。同様に、Blob.position メソッドを使用してバイト パターンの Blob 値を検索する場合は、検索パターンを最大値である 4096 バイト以下にする必要があります。

 


FILETOBLOB 機能のサポート

FILETOBLOB 機能で SERVER キーワードとサーバ上の既存のファイルを使用してファイルを Blob に変換する場合、次のようなコマンドで実行すると適切に変換されます。

st.executeUpdate("INSERT INTO doc_list VALUES (7, FILETOBLOB('c:\\temp\\INSTSRV.EXE', 'SERVER'))");

FILETOBLOB 関数に CLIENT キーワードを使用することはできません。これは、この関数がクライアント サイドからサーバ サイドへのデータ転送の処理について Informix クライアント ソフトウェアに依存しているためです。Informix 用の WebLogic JDBC ドライバには基底のクライアント ソフトウェアがないため、この種のデータ転送を処理する現行の実装はありません。

 


自動生成キーのサポート

Informix ドライバは自動生成キーの値の取得をサポートします。Informix ドライバから返される自動生成キーは、SERIAL カラムまたは SERIAL8 カラムの値です。

アプリケーションは Statement.getGeneratedKeys() メソッドを使用して、生成されたキーの値をドライバから取得します。

 

フッタのナビゲーションのスキップ  ページの先頭 前 次