Cosminexus V9 アプリケーションサーバ 機能解説 互換編
ここでは,DABroker Libraryを使用してHiRDBまたはOracleに接続する場合の注意事項を示します。
HiRDBと接続する場合の注意事項については,マニュアル「アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)」の「3.6.5 HiRDBと接続する場合の前提条件と注意事項」を参照してください。
commit()メソッドをわたっても※保持されるPreparedStatementオブジェクトは,DELETE文,INSERT文,PURGE文,TABLE文,UPDATE文,CALL文,およびSELECT文で生成したものだけです。ただし,HiRDBクライアント経由でXDM/RD E2を使用する場合にPURGE TABLE文で生成したPreparedStatementオブジェクトは除きます。
これらのSQL以外で生成されたPreparedStatementオブジェクトは,commit()メソッド実行時に無効となります。無効になったPreparedStatementオブジェクトでSQLを実行するとエラーになります。実行例を次に示します。
PrepareStatement pstmt1 = con.prepareStatement(""lock table tb1""); PrepareStatement pstmt2 = con.prepareStatement(""lock table tb2""); pstmt1.execute(); //エラーにならない con.commit(); pstmt2.execute(); //エラーになる pstmt1.close(); pstmt2.close();
ここでは,DABroker Libraryを使用してOracleに接続する場合の注意事項について説明します。
DABroker Libraryでは,次のコンポーネントを使用できます。
DABroker Libraryを使用する場合の,Javaの型とOracleのSQL型のマッピングを次の表に示します。
表4-70 Javaの型とOracleのSQL型のマッピング
メソッド | OracleのSQL型 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
CHAR | VARCHAR2 | NUMBER | DATE | TIMESTAMP | CLOB | LONG | BLOB | RAW | LONGRAW | |
set/getByte | ○ | ○ | ○ | − | − | − | ○ | − | − | − |
set/getShort | ○ | ○ | ○ | − | − | − | ○ | − | − | − |
set/getInt | ○ | ○ | ○ | − | − | − | ○ | − | − | − |
set/getLong | ○ | ○ | ○ | − | − | − | ○ | − | − | − |
set/getFloat | ○ | ○ | ○ | − | − | − | ○ | − | − | − |
set/getDouble | ○ | ○ | ○ | − | − | − | ○ | − | − | − |
set/getBigDecimal | ○ | ○ | ○ | − | − | − | ○ | − | − | − |
set/getBoolean | − | − | − | − | − | − | − | − | − | − |
set/getString | ○ | ○ | − | ○ | − | − | ○ | − | − | − |
set/getBytes | − | − | − | − | − | − | − | − | ○ | ○ |
set/getDate | ○ | ○ | − | ○ | − | − | ○ | − | − | − |
set/getTime | ○ | ○ | − | ○ | − | − | ○ | − | − | − |
set/getTimestamp | ○ | ○ | − | ○ | − | − | ○ | − | − | − |
set/getClob | − | − | − | − | − | ○ | − | − | − | − |
set/getBlob | − | − | − | − | − | − | − | ○ | − | − |
set/getObject | ○ | ○ | ○ | ○ | − | ○ | ○ | ○ | ○ | ○ |
DABroker Libraryを使用する場合に文字コード変換が実施される場所を次の図に示します。
図4-9 DABroker Libraryを使用する場合に文字コード変換が実施される場所
J2EEサーバ上のJDBCドライバ部分では,JavaVMのコンバータによって,Unicodeからデータベース格納コード,およびデータベース格納コードからUnicodeへの変換が実施されます。
DABroker LibraryのエンコーディングセットとOracleサーバのデータベースキャラクタセットを同じにしておく必要があります。
Oracleに対してXA接続でアクセスする場合,データソースの設定では,次の規則でXA Open Stringを指定する必要があります。
All Rights Reserved. Copyright (C) 2012, 2015, Hitachi, Ltd.