Cosminexus V9 アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)

[目次][用語][索引][前へ][次へ]

3.6.6 Oracleと接続する場合の前提条件と注意事項

ここでは,Oracleと接続する場合の前提条件と注意事項について説明します。

<この項の構成>
(1) 前提条件
(2) Oracleと接続する場合の注意事項
(3) Oracle RACを使用したOracleへの接続方法

(1) 前提条件

(2) Oracleと接続する場合の注意事項

ここでは,Oracleに接続する場合の使用時の注意について説明します。

(a) 使用できるJ2EEコンポーネントの違い

Oracle JDBC Thin DriverでOracleに接続する場合に使用できるJ2EEコンポーネントを次に示します。

(b) 日本語文字コード変換の相違点とOracle JDBC Thin Driverでの文字化けを回避するための設定

JDBCドライバでは,データをデータベースに格納するとき,およびデータベースからデータを取り出すときに,Unicodeとデータベース格納コードとの間で適宜,文字コードを変換します。ここでは,Oracle JDBC Thin Driverを使用する場合に文字コード変換が実施される場所を次の図に示します。

図3-18 Oracle JDBC Thin Driverを使用する場合に文字コード変換が実施される場所

[図データ]

図中の場所ごとに実行される文字コード変換について,次の表に示します。

表3-27 Oracle JDBC Thin Driverを使用する場合に文字コード変換が実施される場所

場所 実施される内容
1 ネットワーク,ファイルなどの外部データをJ2EEサーバで読み込む時に,外部データコードからUnicodeに変換されます。
2 J2EEサーバで読み込んだデータをOracleサーバに格納する時に,UnicodeからUTF-8に変換されます。J2EEサーバ上のJDBCドライバ部分で実施されるコード変換です。
3 Oracleサーバのコンバータによって,UTF-8からデータベース格納コードへの変換が実施されます。Oracleサーバ上で実施されるコード変換です。
4 Oracleサーバのコンバータによって,データベース格納コードからUTF-8への変換が実施されます。
5 OracleサーバからJ2EEサーバが格納したデータを取得する時に,UTF-8からUnicodeに変換されます。
6 J2EEサーバで取得したデータをネットワークやファイルなどに書き出す時に,Unicodeから外部データコードに変換されます。

Oracle JDBC Thin Driverを使用する場合,JavaVMとOracleサーバのコンバータがサポートしているマッピング規則の相違から,文字化けが発生することがあります。文字化けは,外部データの文字コードとデータベース格納コードの組み合わせや,文字コード変換を行うコンバータの組み合わせによって発生します。

文字化けを回避するためには,外部データの文字コードと,データベース格納コードを,次に示す組み合わせで使用してください。

(c) 専用サーバ接続

専用サーバ接続の場合,次の機能は使用できません。次の機能を使用する場合は共有サーバ接続にしてください。詳細については,オラクルのサポートサービスにお問い合わせください。

(d) JTAトランザクション決着処理中のselect文の戻り値

XAトランザクションでOracleを利用した場合に,JTAトランザクションの決着処理中に,トランザクション内で更新処理を実施した複数のデータベースに対し,Oracleのselect文を発行すると,各select文の戻り値が異なることがあります。これは,Oracleの分散読取り一貫性の制限に起因しています。

(3) Oracle RACを使用したOracleへの接続方法

Oracle RACを使用したOracleへの接続方法は,負荷分散に使用する機能によって異なります。負荷分散に使用する機能および使用するRARファイルの対応を次の表に示します。

表3-28 使用する機能および使用するRARファイルの対応

負荷分散に使用する機能 DB ConnectorのRARファイル名
アプリケーションサーバの機能(クラスタコネクションプール機能) DBConnector_CP_ClusterPool_Root.rar
DBConnector_Oracle_CP_ClusterPool_Member.rar
Oracleの機能 DBConnector_Oracle_CP.rar
DBConnector_Oracle_CP_Cosminexus_RM.rar