エンタープライズ:特集 | 2003/07/25 18:19:00 更新 |
[Java Developer特別企画]2003年9月号
知っておきたいデータベース移行術「SQL Server→Oracle編」 (2/15)
JAVA Developer 2003年9月号より転載
●データベース移行に伴う影響範囲
SQL Server 2000からOracle9iへのデータベースの移行は、データベースを利用しているアプリケーション、あるいは関係するシステム全体に大きく影響します。その影響の範囲は、データベースに接続しているアプリケーションすべてが対象です。一般的にデータベースの移行では、次のようなことを考慮する必要があります。
・ディスク装置(クラスタリングに必要な環境も含む)
・ハードウェアおよびOS
・バックアップソフトウェア(およびバックアップハードウェア)
・状態監視ソフトウェア
・開発ツール
・ODBC接続
・JDBC接続
・.NETデータプロバイダ接続
Java技術者なら、まず気になるのがJDBCドライバではないでしょうか。
JDBCドライバは、SQL Server 2000の場合、マイクロソフトのホームページからダウンロードできます。Oracle9iでは製品にも含まれていますがこちらも日本オラクルのホームページからダウンロードすることができます。
それぞれのJDBCドライバの比較を行ってみます。どちらのJDBCドライバもJDBC2.0の仕様を確実に満たしており、追加仕様であるいくつかの主要機能もサポートされています。ですから、Javaアプリケーションから見た機能はそれほど変化しないものと思われます。むしろOracle9iに移行した場合は、JDBCドライバのタイプの選択肢が増えるなど環境の適用範囲が広くなります。
表1 JDBCドライバの比較 | ||
SQL Server 2000 | Oracle9i | |
JDBCドライバタイプ | Type4 |
Type2(OCI) Type4(Thin) Server-Side JDBC |
サポートOS |
Windows Linux AIX HP-UX Solaris |
Windows Linux AIX HP-UX Solaris |
サポートJDK |
1.1.8 1.2 1.3 |
1.1x 1.2x 1.3x 1.4 |
サポートJDBCバージョン | 2.0 |
2.0 3.0の一部 |
JNDI | ○ | ○ |
コネクションプーリング機能 | ○ | ○ |
XAトランザクション | ○ | ○ |
Unicodeサポート | ○ | ○ |
更新可能なResultSet | ○ | ○ |
実際にSQL Server 2000からOracle9iへの移行に伴い、JDBC接続を行う場合のデータベースの接続方法が変わることになります。この部分のコーディング変更が必要です。コネクションプーリングなどを使用しない最も標準的なJDBC接続部分のコーディング例は、リスト1のとおりです。
リスト1 JDBCによるデータベース接続の違い |
「SQL Server 2000」 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); Connection conn = DriverManager.getConnection( "jdbc:microsoft:sqlserver://myhost:1433;DATABASENAME=dbname", "user","password"); 「Oracle9i」 Class.forName("oracle.jdbc.driver.OracleDriver"); Connection conn = DriverManager.getConnection( "jdbc:oracle:thin:@myhost:1521:dbname", "user", "password"); |
OSに関しては、基本的にSQL Server 2000が動作するOSであるWindows 2000およびWindows Server 2003の両OS上で、Oracle9iデータベースは動作します。よって、このOSが動作するハードウェアおよび接続されているディスク装置も動作は可能なはずです。
ODBCドライバ接続に関しては、SQL Server 2000およびOracle9iともに準備されており、接続は問題がありません。
そのほか、.NETを使ってSQL Server 2000に接続している場合は、移行したOracle9iでも.NET接続が正しく行われるように日本オラクルのホームページから「Oracle Data Provider for .NET」をダウンロードして利用します。
●移行に伴う情報やツール
Oracle9iにスムーズに移行するためのツールについて紹介します。米国OTN(Oracle Technology Network)サイトには、Oracle Migration Workbench(http://otn.oracle.com/tech/migration/workbench/content.html)が存在します。
このMigration Workbenchでは、SQL Server 2000、SQL Server 6.5/7.0およびAccess、Sybase、Informix、MySQL、DB2 UDBなどのデータベースからOracle9iに移行するための情報が含まれています。このMigration Workbenchは、日本ではInformix用が提供されています。SQL Server 2000用の国内提供は、いまのところ未定です。
関連リンク
JAVA Developer
定期購読のご案内
バックナンバー販売協力店
Javaコレクションのマスターを目指せ! JAVA Developer 9月号
大特集
特集2 BEA WebLogic ・コレクションフレームワークとデータ構造 ・知っておきたいデータベース移行術 「SQL Server→Oracle編」 ・Webアプリケーションセキュリティ |
前のページ | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 次のページ
[西脇 資哲,JAVA Developer]