WebLogic Type 4 JDBC ドライバ ガイド

     前  次    新しいウィンドウで目次を開く   
ここから内容の開始

Informix ドライバ

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

 


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

Informix 用の WebLogic Type 4 JDBC ドライバ (「Informix ドライバ」) では、以下のデータベース バージョンがサポートされます。

 


Informix ドライバ クラス

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://hostname:port[;property=value[;...]]

各要素の説明は次のとおりです。

次に例を示します。

jdbc:bea:informix://server4:1526;informixServer=ol_test;
DatabaseName=ACCT01;User=test;Password=secret

 


Informix 接続プロパティ

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

   property=value
注意 : すべての接続プロパティ名で大文字と小文字は区別されません。たとえば、Password は password と同じです。必須のプロパティかどうかが記載されています。各接続プロパティで示されているデータ型は、JDBC データ ソースのプロパティ値に使用される Java データ型です。

表 4-1 Informix の接続文字列のプロパティ
プロパティ
説明
CodePageOverride
省略可能
ドライバが文字データの変換に使用するコード ページ。指定したコード ページによって、デフォルトのデータベース コード ページまたはカラム照合がオーバーライドされる。データベースとやり取り (取得および書き込み) するすべての文字データは、指定したコード ページを使用して変換される。値としては、使用している JVM でサポートされている有効なコード ページの名前 (たとえば CodePageOverride=CP950) を含む文字列を指定する必要がある。
デフォルトでは、文字データの変換に使用するコード ページが自動的に識別される。このプロパティは、ドライバのデフォルト動作を変更する必要がある場合にのみ使用する。
ConnectionRetryCount
省略可能
データベース サーバへの正常な接続を確立できるまでに、ドライバで接続を再試行する回数。有効な値は、0 または正の整数。
0 に設定すると、最初の試行が失敗した場合でも再接続は試行されない。
データベース サーバのリストを一通り試行しても正常な接続を確立できなかった場合には、リスト内のすべてのサーバへの接続が一度だけ再試行される。
アプリケーションによってログイン タイムアウト値 (たとえば、DataSource.loginTimeout や DriverManager.loginTimeout) が設定されている場合は、そのタイムアウトがこのプロパティよりも優先される。たとえば、ログイン タイムアウトが経過すると、代替サーバへのすべての接続の試行が停止する。
再試行の間の待機間隔は、ConnectionRetryDelay プロパティで秒単位で指定する。
デフォルトは 5。
ConnectionRetryDelay
省略可能
ConnectionRetryCount が正の整数に設定されている場合に、ドライバがそれぞれの接続の再試行の間に待機する秒数。
デフォルトは 1。
ConvertNull
1 または 0。データ変換における null 値の処理方法を制御する。
1 (デフォルト) に設定すると、要求されたデータ型とデータを格納するテーブル カラムのデータ型が照合される。要求された型とカラム型の間の変換が定義されていない場合は、カラム値のデータ型に関係なく、「unsupported data conversion」例外が生成される。
0 に設定すると、カラムの値が null の場合でもデータ型の照合は実行されない。このように設定することで、要求された型とカラム型の間の変換が定義されていない場合でも null 値を返すことが可能になる。
デフォルトは 1。
DatabaseName
省略可能
接続先のデータベースの名前。
このプロパティを指定しない場合、指定したサーバへの接続は確立されるが、特定のデータベースには接続されない。データベースに接続せずに確立されたサーバへの接続では、アプリケーションで SQL 文の CREATE DATABASE および DROP DATABASE を使用できる。これらの文を使用する場合は、ドライバをデータベースに接続することはできない。アプリケーションは、DATABASE SQL 文を実行して接続を確立した後でデータベースに接続できる。
SQL 文の CREATE DATABASE、DROP DATABASE、および DATABASE の使用方法については、IBM Informix のドキュメントを参照。
DBDate
省略可能
DATE カラム内のデータを挿入、更新、取得する際にリテラル日付値をフォーマットするための Informix DBDate サーバ オプションを設定する。このプロパティを使用して、以下の項目をカスタマイズできる。
  • 日付文字列内の月、日、年フィールドの順序
  • 年フィールドの桁数 (2 桁または 4 桁)
  • 日付フィールドに使用する区切り文字
有効な値は以下のとおり。
DMY2                         Y4DM
DMY4                         Y4MD
MDY2                         Y2DM
MDY4                        Y4MD
ここで、D は 2 桁の日フィールド、M は 2 桁の月フィールド、Y2 は 2 桁の年フィールド、Y4 は 4 桁の年フィールドを表す。
指定しない場合、リテラル日付値のフォーマットはデフォルトのサーバ動作に準拠する。
必要に応じて、値の末尾に区切り文字を指定する。有効な区切り文字は以下のとおり。
ハイフン (-)
ピリオド (.)
フォワードスラッシュ (/)
区切り文字が指定されていない場合は、デフォルトでフォワードスラッシュ (/) が使用される。たとえば、「Y4MD-」と指定すると、日付のフォーマットは年 4 桁、月 2 桁、日 2 桁となり、フィールド間がハイフン (-) で区切られる。たとえば、2004-02-15 のようになる。
このプロパティは、日付エスケープ構文の文字列のフォーマットには影響しない。日付エスケープ構文で指定した日付には、常に次の JDBC エスケープ フォーマットが適用される。
yyyy-mm-dd
FetchBufferSize
データベースからのデータ取得時に使用するフェッチ バッファのサイズをバイト単位で指定する。有効な値は、1 から 32767 までの正の整数。
フェッチ バッファのサイズを小さくするとメモリの消費量を抑えることができるが、ネットワーク上のデータのやり取りが多くなりパフォーマンスが低下する。フェッチ バッファのサイズを大きくすると、データベースからデータを返す際のネットワーク上のやり取りが少なくなってパフォーマンスが向上する。
最適な値は、次の式を使用して計算できる。
X = A * B * 50
ここで、A は Select 文を実行するとアプリケーションから返される行の数、B は Select 文を実行すると返される一般的な行カラムの数。
このプロパティをコンフィグレーションして最適なパフォーマンスを実現する方法については、「パフォーマンスに関する考慮事項」を参照。
デフォルトは 32767。
InformixServer
必須
接続先の Informix データベース サーバの名前。
InitializationString
ドライバがデータベースへの接続を確立し、その接続のすべての初期化を実行した後に実行する、1 つまたは複数の SQL コマンドを指定する。次に例を示します。
InitializationString=command
複数のコマンドを指定する場合はセミコロンで区切る必要がある。また、このプロパティを接続 URL 内に指定する場合、複数のコマンドを指定するには値全体を括弧で囲む必要がある。次に例を示します。
jdbc:bea:informix://server1:2003;
InformixServer=TestServer;DatabaseName=Test;
InitializationString=(
command1;command2)
SQL コマンドの実行が失敗すると、接続の試行も失敗し、どの SQL コマンドが失敗したかを示す例外が送出される。
InsensitiveResultSetBufferSize
省略可能
-1、0、または x。ドライバがインセンシティブな結果セット データのキャッシュに使用するメモリの量を指定する。
-1 に設定すると、ドライバはすべてのインセンシティブな結果セット データをメモリにキャッシュする。結果セットのサイズが利用できるメモリ容量を超えると、OutOfMemoryException 例外が生成される。結果セット データをディスクに書き込む必要がないため、データがより効率的に処理される。
0 に設定すると、ドライバは 2GB を限度としてすべてのインセンシティブな結果セット データをメモリにキャッシュする。結果セット データのサイズが利用できるメモリ容量を超えると、その結果セット データがディスクにページングされる。結果セット データがディスクに書き込まれる可能性があるため、ディスクに正しく書き込むためにデータの再フォーマットが必要になることがある。
x (正の整数) に設定すると、インセンシティブな結果セット データのキャッシュに使用するメモリ バッファのサイズ (KB 単位) を指定したことになり、ドライバはすべての結果セット データをメモリにキャッシュする。結果セットのサイズがバッファ サイズを超えると、結果セットがディスクにページングされる。結果セット データがディスクに書き込まれる可能性があるため、ディスクに正しく書き込むためにデータの再フォーマットが必要になることがある。バッファ サイズとして 2 の累乗を指定すると、メモリの使用がより効率的になる。
デフォルトは 2048 (KB)。
JavaDoubleToString
true または false。double 値や float 値を string 値に変換する際に、ドライバの内部変換アルゴリズムと JVM 変換アルゴリズムのどちらを使用するかを指定する。
true に設定すると、double 値や float 値を string 値に変換する際に JVM 変換アルゴリズムが使用される。
false (デフォルト) に設定すると、double 値や float 値を string 値に変換する際にドライバの内部変換アルゴリズムが使用される。このプロパティを false に設定するとパフォーマンスは向上するが、JVM アルゴリズムを使用した変換との間で、丸めによる多少の誤差が生じる可能性がある。ただし、これらの誤差は double および float データ型の誤差としては許容範囲内。
デフォルトは false。
LoginTimeout
省略可能
ドライバが接続が確立されるのを待機する時間 (秒単位)。この時間が経過すると、制御がアプリケーションに返され、タイムアウト例外が送出される。
0 (デフォルト) に設定すると、接続リクエストはタイムアウトしない。
Password:
必須
Informix データベースに接続する場合に使用するパスワード。大文字と小文字は区別されない。パスワードは、データベースでセキュリティが有効化されている場合にのみ必要となる。その場合は、システム管理者に連絡してパスワードを取得する。
PortNumber
必須
データベース サーバが接続をリスンする TCP ポート。デフォルトはオペレーティング システムによって異なる。
このプロパティは、データ ソース接続でのみサポートされる。
QueryTimeout
整数、-1、または 0。接続によって作成されたすべての文のデフォルトのクエリ タイムアウトを秒単位で設定する。
正の整数に設定すると、その値が接続によって作成されるすべての文のデフォルト タイムアウトとして使用される。この接続オプションで設定したデフォルト タイムアウトをオーバーライドするには、Statement.setQueryTimeout() メソッドを呼び出して特定の文のタイムアウト値を設定する。
-1 に設定すると、クエリ タイムアウト機能が無効になる。ドライバは、通知なしで Statement.setQueryTimeout() メソッドを呼び出す。
0 (デフォルト) に設定すると、デフォルトのクエリ タイムアウトは無限大となる (クエリはタイムアウトしない)。
ResultSetMetaDataOptions
0 または 1。アプリケーションでテーブル名情報が必要な場合は、Select 文の ResultSet メタデータにテーブル名情報を含めて返すことができる。
0 (デフォルト) に設定した場合は、ResultSetMetaData.getTableName() メソッドが呼び出されても、結果セットの各カラムの正しいテーブル名を特定するための追加処理は実行されない。この場合、getTableName() メソッドは結果セット内のカラムごとに空の文字列を返す可能性がある。
1 に設定した場合は、ResultSetMetaData.getTableName() メソッドが呼び出されると、結果セットの各カラムの正しいテーブル名を特定するための追加処理が実行される。ResultSetMetaData.getSchemaName() メソッドと ResultSetMetaData.getCatalogName() メソッドが呼び出された場合、スキーマ名とカタログ名の情報を返すこともできる (ドライバがこの情報を判別できる場合)。
このプロパティをコンフィグレーションして最適なパフォーマンスを実現する方法については、「パフォーマンスに関する考慮事項」を参照。
デフォルトは 0。
ServerName
必須
プライマリ データベース サーバの IPv4 または IPv6 形式の IP アドレスを指定するか、ネットワークで名前付きのサーバがサポートされている場合はサーバ名を指定する。たとえば、122.23.15.12 または InformixServer のように指定する。
このプロパティは、データ ソース接続でのみサポートされる。
UseDelimitedIdentifier
true または false。Informix サーバで、SQL 文内の二重引用符 (") をどのように解釈するかを指定する。
true に設定すると、Informix DELIMIDENT サーバ オプションが設定され、二重引用符で囲まれた文字列が文字列リテラルではなく識別子として解釈される。
false に設定すると、Informix DELIMIDENT サーバ オプションは設定されず、二重引用符で囲まれた文字列は識別子ではなく文字列リテラルとして解釈される。
注意 : サーバで DELIMIDENT 環境変数が設定されている場合は、ドライバからこの設定を変更することはできない。その場合、UseDelimitedIdentifier 接続オプションは無視される。
デフォルトは true。
User
必須
Informix データベースに接続する場合に使用するデフォルトのユーザ名。大文字と小文字は区別されない。ユーザ名は、データベースでセキュリティが有効化されている場合にのみ必要となる。その場合は、システム管理者に連絡してユーザ名を取得する。

プリペアド ステートメントに関する Informix の制限

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

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

Statement キャッシュ サイズの設定の詳細については、「ステートメント キャッシュによるパフォーマンスの向上」を参照してください。

 


パフォーマンスに関する考慮事項

以下に示す Informix ドライバの接続プロパティを設定すると、アプリケーションのパフォーマンスを向上させることができます。

FetchBufferSize

フェッチ バッファのサイズを小さくするとメモリの消費量を抑えることができますが、ネットワーク上のデータのやり取りが多くなりパフォーマンスが低下します。フェッチ バッファのサイズを大きくすると、データベースからデータを返す際のネットワーク上のやり取りが少なくなってパフォーマンスが向上します。最適な値は、式 X = A * B * 50 を使用して計算できます。ここで、A は Select 文を実行するとアプリケーションから返される行の数、B は Select 文を実行すると返される一般的な行カラムの数です。

InsensitiveResultSetBufferSize

スクロールインセンシティブな結果セットを使用する場合のパフォーマンスを向上させるため、ドライバは結果セット データをディスクに書き込む代わりに、メモリにキャッシュできます。デフォルトでは、ドライバはインセンシティブな結果セット データを 2 MB までメモリにキャッシュし、残りの結果セット データをディスクに書き込みます。パフォーマンスを向上させるには、ドライバがデータをディスクに書き込む前に使用するメモリの量を増やすか、ドライバがインセンシティブな結果セット データをディスクに書き込めないようにします。最大キャッシュ サイズの設定は 2 GB です。

 


ResultSetMetaDataOptions

デフォルトでは、ResultSetMetaData.getTableName() メソッドが呼び出された場合、Informix ドライバは、結果セット内の各カラムの正しいテーブル名を返すために必要な追加の処理を省略します。このため、getTableName() メソッドは結果セット内のカラムごとに空の文字列を返す可能性があります。アプリケーションでテーブル名情報が必要ない場合は、この設定によって最適なパフォーマンスが得られます。

ResultSet メタデータを返す方法の詳細については、「ResultSet メタデータのサポート」を参照してください。

 


データ型

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

表 4-2 Informix データ型
Informix のデータ型
JDBC のデータ型
BLOB
BLOB
BOOLEAN
BIT
BYTE
LONGVARBINARY
CHAR
CHAR
CLOB
CLOB
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 文

Informix ドライバでは、Insert 文および Update 文でパラメータ メタデータを返すことができます。

Select 文

Informix ドライバでは、ANSI SQL 92 エントリレベルの述語 (比較、BETWEEN、IN、LIKE、EXISTS などの述語構文) にパラメータを含んでいる Select 文に対してパラメータ メタデータを返すことができます。詳細な構文については、ANSI SQL リファレンスを参照してください。

以下のいずれかの条件に該当する場合は、Select 文に対してパラメータ メタデータを返すことができます。

以下の Select 文では、パラメータ メタデータを返すことができる例をさらに示しています。

   SELECT col1, col2 FROM foo WHERE col1 = ? and col2 > ?
   SELECT ... WHERE colname = (SELECT col2 FROM t2 WHERE col3 = ?)
   SELECT ... WHERE colname LIKE ?
   SELECT ... WHERE colname BETWEEN ? and ?
   SELECT ... WHERE colname IN (?, ?, ?)
   SELECT ... WHERE EXISTS(SELECT ... FROM T2 WHERE col1 < ?)

GROUP BY、HAVING、または ORDER BY を含む WHERE 句で ANSI SQL 92 エントリレベルの述語を使用する文がサポートされます。次に例を示します。

   SELECT * FROM t1 WHERE col = ?ORDER BY 1

結合がサポートされます。次に例を示します。

   SELECT * FROM t1,t2 WHERE t1.col1 = ?

完全修飾名とエリアスがサポートされます。次に例を示します。

   SELECT a, b, c, d FROM T1 AS A, T2 AS B WHERE A.a = ?
      and B.b = ?"

概数データ型として定義されたカラムのパラメータ メタデータが要求されると、ドライバからはスケールとして 255 が返されます。これは、そのカラムが概数データ型であり、スケールがないことを示します。たとえば、次のように col2 が概数データ型 (精度 20) のテーブルを作成したとします。

CREATE table fooTest(col1 int, col2 decimal(20))

ドライバからは、col2 のデータ型が精度 20、スケール 255 の 10 進数であることを示すパラメータ メタデータが返されます。

ストアド プロシージャ

Informix ドライバでは、ストアド プロシージャの引数に対してパラメータ メタデータを返すことはできません。

 


ResultSet メタデータのサポート

アプリケーションでテーブル名情報が必要な場合、Informix ドライバは Select 文の ResultSet メタデータに含めてテーブル名情報を返すことができます。ResultSetMetaDataOptions プロパティを 1 に設定した場合、ResultSetMetaData.getTableName() メソッドが呼び出されたとき、Informix ドライバは結果セット内の各カラムの正しいテーブル名を決定する追加の処理を実行します。それ以外の場合、getTableName() メソッドは結果セット内のカラムごとに空の文字列を返す可能性があります。

Informix ドライバが返すテーブル名情報は、結果セット内のカラムがデータベース テーブル内のカラムにマップされているかどうかによって異なります。結果セット内の各カラムがデータベース テーブル内のカラムにマップされている場合、Informix ドライバはそのカラムに関連付けられているテーブル名を返します。結果セット内の各カラムがテーブル内のカラムにマップされていない場合 (集約やリテラルなど)、Informix ドライバは空の文字列を返します。

ResultSet メタデータが返される Select 文には、エリアス、結合、および完全修飾名を含めることができます。以下のクエリは、ResultSetMetaData.getTableName() メソッドによって Select リスト内の各カラムの正しいテーブル名が返される、Select 文の例です。

   SELECT id, name FROM Employee
   SELECT E.id, E.name FROM Employee E
   SELECT E.id, E.name AS EmployeeName FROM Employee E
   SELECT E.id, E.name, I.location, I.phone FROM Employee E,
      EmployeeInfo I WHERE E.id = I.id
   SELECT id, name, location, phone FROM Employee,
      EmployeeInfo WHERE id = empId
   SELECT Employee.id, Employee.name, EmployeeInfo.location,
      EmployeeInfo.phone FROM Employee, EmployeeInfo
      WHERE Employee.id = EmployeeInfo.id

生成されたカラムの場合、ドライバによって返されるテーブル名は空の文字列です。以下のクエリは、生成されたカラム (「upper」という名前のカラム) を含む結果セットを返す Select 文の例です。

   SELECT E.id, E.name as EmployeeName, {fn UCASE(E.name)} 
      AS upper FROM Employee E

Informix ドライバは、ResultSetMetaData.getSchemaName() メソッドと ResultSetMetaData.getCatalogName() メソッドが呼び出された場合、スキーマ名とカタログ名の情報を返すこともできます (ドライバがこの情報を判別できる場合)。たとえば、以下の文の場合、Informix ドライバはカタログ名として「test」、スキーマ名として「test1」、テーブル名として「foo」を返します。

   SELECT * FROM test.test1.foo 

テーブル名、スキーマ名、およびカタログ名の情報を返すために必要な追加の処理は、ResultSetMetaData.getTableName()ResultSetMetaData.getSchemaName()、または ResultSetMetaData.getCatalogName() メソッドが呼び出された場合にのみ実行されます。

 


Rowset のサポート

Informix ドライバは、以下のような RowSet インタフェースの JSR 114 実装をサポートします。

ドライバで RowSet を使用するには、J2SE 1.4 以上が必要です。

JSR 114 の詳細については、http://www.jcp.org/en/jsr/detail?id=114 を参照してください。

 


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 カラムの値です。

自動生成キーの値を返すことができるのは、アプリケーションで Insert 文を実行するときです。値を返す方法は、パラメータを含む Insert 文を使用しているかどうかによって異なります。

自動生成キーの値は、Statement.getGeneratedKeys() メソッドを使用して取得できます。このメソッドは、各自動生成キーのカラムとともに ResultSet オブジェクトを返します。

 


Database 接続プロパティ

Database 接続プロパティは、DatabaseName 接続プロパティのシノニムとして使用できます。

接続 URL に Database と DatabaseName の両方の接続プロパティが指定されている場合は、接続 URL 内で後ろの方に指定されているプロパティが使用されます。たとえば、アプリケーションで次のような URL を指定した場合、DatabaseName 接続プロパティの値ではなく、Database 接続プロパティの値が使用されます。

jdbc:bea:informix://server1:2003;InformixServer=ol_test;
DatabaseName=jdbc;Database=acct;User=test;Password=secret

ページの先頭       前  次