Sun Java System Application Server Enterprise Edition 8.2 アップグレードと移行

Application Server 6.x からの JDBC コードの移行

JDBC API を使用したデータベースアクセスには、次の 2 つの方法があります。


注 –

Application Server8.2 は、Application Server 6.x に含まれている Native Type 2 JDBC ドライバをサポートしません。Type 2 のドライバを使用して他社製の JDBC ドライバにアクセスするコードは、手動で移行する必要があります。


DriverManager インタフェースを介した接続の確立

このデータベースアクセス方法は古くてあまり効率がよくないため推奨されていませんが、まだこの方法を使用しているアプリケーションが存在する可能性があります。

その場合、アクセスコードは次のようになります。

public static final String driver = "oracle.jdbc.driver.OracleDriver";
public static final String url = 
  "jdbc:oracle:thin:tmb_user/tmb_user@iben:1521:tmbank";
Class.forName(driver).newInstance();
Properties props = new Properties();
props.setProperty("user", "tmb_user");
props.setProperty("password", "tmb_user");
Connection conn = DriverManager.getConnection(url, props);

このコードは、Application Server 6.x から Application Server8.2 に完全に移植できます。ただし、Application Server8.2 が適切な JDBC ドライバを読み込むのに必要なクラスを特定できることが条件です。必要なクラスが Application Server に配備されたアプリケーションにアクセスできるようにするには、Application Server のインストールディレクトリの /lib ディレクトリにドライバ実装用のアーカイブ (JAR または ZIP) を置きます。

管理コンソールの GUI を使用してドライバのパスを設定することにより、CLASSPATH を変更します。

JDBC 2.0 データソースの使用

データベースへのアクセスに JDBC 2.0 データソースを使用すると、パフォーマンス上の利点 (透過的な接続プーリングなど) が得られるとともに、コードや実装が単純化することで生産性が向上し、コードの移植性が高まります。

Application Server 6.x アプリケーション上に xyz と言う名前のデータソースがあり、JNDI 検索コードに影響を与えたくない場合は、Application Server8.2 のために作成するデータソースの名前に必ず「JDBC」を付けてください。次に例を示します。jdbc/xyz

JDBC データソースの設定については、『Sun Java System Application Server Enterprise Edition 8.2 管理ガイド』の第 3 章「JDBC リソース」を参照してください。

JNDI 経由でデータソースを検索して接続を取得する

データソースから接続を取得するには、次の手順に従います。

Procedureデータソースに接続する

  1. 初期 JNDI コンテキストを取得します。

    異なる環境間での移植性を保証するには、(サーブレット、JSP ページ、または EJB 内にある) InitialContext オブジェクトを取得するためのコードを次のようにします。

    InitialContext ctx = new InitialContext();

  2. JNDI 検索を使用してデータソースへの参照を取得します。

    JNDI コンテキストにバインドされたデータソースへの参照を取得するには、初期コンテキストオブジェクトからデータソースの JNDI 名を検索します。この方法で検索されたオブジェクトを次のように DataSource タイプオブジェクトとしてキャストします。

    ds = (DataSource)ctx.lookup(JndiDataSourceName);

  3. データソースへの参照を使用して接続を取得します。

    この操作には、次のようなコード行が必要です。

    conn = ds.getConnection();

    Application Server 6.x と Application Server は、どちらもこれらの方法に従ってデータソースから接続を取得します。