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

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

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

(1) Oracle9iの場合の前提条件

Oracle9iの場合の前提条件について示します。

(2) Oracle10gの場合の前提条件

Oracle10gの場合の前提条件について示します。

(3) Oracle11gの場合の前提条件

Oracle11gの場合の前提条件について示します。

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

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

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

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

(b) 型マッピング

Oracle JDBC Thin Driverを使用する場合のJavaの型とOracleのSQL型のマッピングを次の表に示します。

表3-30 Javaの型とOracleのSQL型のマッピング(Oracle JDBC Thin Driver)

メソッドOracleのSQL型
CHARVARCHAR2NUMBERDATETIMESTAMPCLOBLONGBLOBRAWLONGRAW
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
(凡例)
○:java.sql.PreparedStatement#setXXXおよびjava.sql.ResultSet#getXXXなどでマッピングできる
-:マッピングできない

注 この表は,Oracle9iのマッピングです。詳細やOracle10gおよびOracle11gについては,Oracleのマニュアルを参照してください。


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

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

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

[図データ]

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

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

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

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

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

(d) データソースの設定

Oracleに対してXA接続でアクセスする場合,データソースの設定では,次の規則でXA Open Stringを指定する必要があります。

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

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

表3-32 Oracleのバージョン,使用する機能および使用するRARファイルの対応

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