![]() |
![]() |
![]() |
日本オラクル クロスインダストリー統括本部 OracleDirect テクニカルサービスグループ すけ川 哲生 |
![]() |
![]() |
はじめに [詳細] |
![]() |
Oracle Migration Workbenchとは [詳細] |
![]() |
Oracle Migration Workbench for Microsoft Accessのインストール [詳細] |
![]() |
Oracleデータベースへの移行 [詳細] |
![]() |
Accessデータベースの変更 [詳細] |
![]() |
付録 |
はじめに |
![]() |
「意外と簡単!?」シリーズの資料構成 |
![]() |
本資料の構成 |
1. | Oracle Migration Workbenchとは |
2. | Oracle Migration Workbench for Microsoft Accessのインストール |
3. | Oracleデータベースへの移行 |
4. | Accessデータベースの変更 |
5. | 付録 |
![]() |
本資料におけるシステム構成 |
クライアントPC | ||
OS | :Microsoft Windows 2000 Professional + SP4 | |
AP | :Microsoft Access 2000 | |
データベース・サーバ | ||
OS | :Microsoft Windows 2000 Professional + SP4 | |
DBMS | :Oracle Database 10g Standard Edition for Windows |
![]() |
システム構成 |
Oracle Migration Workbench とは |
![]() |
Migration Workbenchの特徴 |
![]() |
Migration Workbenchのアーキテクチャ |
ポイント:2005/2月現在、日本でサポートされているプラグインは以下のとおりです。
●Microsoft SQL Server 6.5,7.0,2000 ●Microsoft Access 2.0,95,97,2000 |
![]() |
主要な機能 |
Oracle Migration Workbench for Microsoft Accessのインストール |
![]() |
環境について |
移行するAccessデータベース | 必要なMS-Accessソフトウェア |
MS-Access 2.0, 95, 97 | MS-Access 97 |
MS-Access 2000 | MS-Access 2000 |
![]() |
ソフトウェアおよびドキュメントの入手 |
ポイント:
2005/02/28現在、Migration Workbench関連ファイルは以下のWebサイトよりダウンロードできます。
http://otn.oracle.co.jp/software/tech/migration/ |
Accessのバージョン | ODBCドライバのバージョン |
MS-Access 2.0, 95, 97 | Microsoft ODBC driver release 4.00.4202.00以降 |
MS-Access 2000 | Microsoft ODBC driver release 4.00.4203.00以降 |
1. | Windowsの [スタート] → [設定] → [コントロールパネル] → [管理ツール] より、 「データソース(ODBC)」を起動します。「ODBCデータソースアドミニストレータ」というタイトルの アプリケーションが起動します。 |
2. | 「ドライバ」タブをクリックします。 |
3. | 「Microsoft Access Driver(*mdb)」のバージョンをチェックします。 |
![]() |
|
ODBCドライバのバージョン確認 |
![]() |
Migration Workbenchのインストール |
注意:
Migration Workbenchをインストールするにはzipファイルを解凍できる解凍ツールが必要です。
|
1. | Windowsを起動し、管理者権限をもつユーザとしてログオンします。 |
2. | 必要に応じ、Migration Workbenchをインストールするディレクトリを作成します。
例) D:\Oracle\ を作成し、インストールディレクトリとします。 |
3. | ダウンロードしたOmwb.zipをMigration Workbenchをインストールするディレクトリに解凍します。 解凍すると、Omwbというディレクトリが作成され、その中にMigration Workbenchのコンポーネントが インストールされます。 |
![]() |
|
Migration Workbenchの解凍・インストール |
ポイント:この文書ではインストールディレクトリの下のOmwbディレクトリをOMWB_DIRと表記します。
例のようにD:\Oracle\にMigration Workbenchを解凍した場合、 D:\Oracle\Omwb\ がOMWB_DIRとなります。 |
![]() |
Accessプラグインのインストール |
1. | Migration Workbenchがまだインストールされていない場合、先の手順に従ってインストールします。 |
2. | ダウンロードしたMSAccess.jarファイルを、OMWB_DIR\Pluginsディレクトリにコピーします。 例) D:\Oracle\Omwb\Pluginsディレクトリにコピーします。 |
![]() |
|
Accessプラグインのインストール |
|
※ すでにPluginsディレクトリに同名のファイルがある場合は、新しいほうのファイルを使用するようにします。 |
Oracleデータベースへの移行 |
![]() |
移行前の準備 |
Microsoft Accessデータベースを移行する前に、以下の手順を実施します。 | |
1. | Accessデータベースファイルのバックアップを作成します。 |
2. | 移行元となるAccessデータベースに適したMicrosoft Accessソフトウェアがインストールされていることを 確認します。(前章を参照) |
3. | 以下の点を確認し、該当する場合は「Oracle Migration Workbenchユーザーズガイド」を参照し、
適切に対処してください。(10.0.2では3-7ページを参照) 今回使用するサンプルでは特に対処の必要はありません。
|
4. | 移行の対象となるAccessデータベース(Access MDB)がMigration Workbenchをインストールした
環境からアクセス可能であることを確認します。 今回は、ローカルにノースウィンドサンプルのAccess MDBがあるものとします。 サンプルがAccessからきちんと開けることを確認してください。 |
5. | Accessで「ツール」→「データベース ユーティリティ」→ 「最適化/修復」を選択して、Accessデータベース・ファイルを最適化します。 |
Accessデータベースの取得の準備として、Accessデータベースのスキーマ情報をXMLファイルにエクスポートします。
この作業はOracle Migration Workbench Exporter for Microsoft Access(Exporter) というツールを用いて行います。 このツールはAccess MDEファイルとしてパッケージされており、MDBファイルをXMLに エクスポートすることができます。 手順は以下のとおりです。 |
|||||||||
1. | Accessのバージョンに応じて適切なExporterをオープンします。
|
||||||||
![]() |
|||||||||
OMWB Exporter
|
|||||||||
2. | Exportのタイプを選択する画面が起動します。「Export Database Schema...」を選択します。
|
||||||||
![]() |
|||||||||
Exporter起動画面 |
|||||||||
3. | 移行するAccessデータベース(MDBファイル)と出力されるXMLファイルの選択画面が起動します。それぞれを入力し、「Export」ボタンを押します。
XMLファイルはデフォルトでは選択したMDBファイルの位置に<MDBファイルと同じ名前.xml>というファイル名で作成されます。 ここでは、Northwind.xmlが作成されます。 |
||||||||
![]() |
|||||||||
Accessデータベースの指定画面 |
|||||||||
4. | エクスポートが終了すると以下のようなメッセージが表示されます。 OKをクリックし、あとは「Exit」ボタンを押してExporterを終了してください。 | ||||||||
![]() |
|||||||||
5. | Accessの移行対象オブジェクトに日本語が含まれている場合は、以下の手順を実行し、
生成されたXMLファイルを編集します。ファイルは3.の手順で指定した場所にあります。
ここでは、Northwind.xmlを編集します。
|
![]() |
ソース・データベースの取得 |
まずは以下の手順でOMWBを起動し、リポジトリの作成をおこないます。 | |||||||||
1. | 以下のいずれかの方法でMigration Workbenchを起動します。 |
||||||||
|
|||||||||
![]() |
|||||||||
Migration Workbenchの起動 |
|||||||||
2. | Migration Workbenchのリポジトリを選択します。
ここでは、「Default Repository」を選択します。 (Default Repositoryを選択すると、Migration Workbenchに含まれているOracle Liteデータベースが 格納先として使用されます。) |
||||||||
![]() |
|||||||||
リポジトリ選択 |
|||||||||
3. | リポジトリ作成
最初に起動したときは以下のようにリポジトリを作成します。
| ||||||||
4. | プラグインを選択する画面が自動で起動します。今回使用する 「Microsoft Access 2.0/95/97/2000 Plugin」を選択して、OKをクリックします。 | ||||||||
![]() |
|||||||||
5. | リポジトリを初めて作成した場合はCapture Wizardが自動で起動します。
(初めてでない場合はOMWBのメイン画面が表示されます) 次項へ進みます。 |
||||||||
リポジトリを作成した後は、Capture Wizardを使用してソース・モデルを取得し、
そこからOracleモデルを生成します。 リポジトリを作成すると、Capture Wizardの初期画面は自動で起動します。 (自分で起動するには、OMWBのメイン画面より「Action」→ 「Capture Source Database」を選択して起動します。) |
|||||||
1. | Capture Wizardの初期画面が起動します。Nextをクリックして先へ進みます。 | ||||||
![]() |
|||||||
2. |
「Select Database to Capture」画面が表示されます。 ここでは以下の手順を行い、「XMLファイルへのエクスポート」の 項で生成したXMLファイルを読み込みます。 |
||||||
![]()
|
|||||||
3. | 「Data Type Mappings」画面が表示されます。 Accessのデータ型が類似のOracleのデータ型にマッピングされていることが確認できます。 通常変更の必要はありませんので、「Next」をクリックして次へ進みます。 |
||||||
![]() |
|||||||
4. | 「Create Oracle Model」画面が表示され、Oracleモデルを自動的に
作成するかどうかを選択します。 Oracle Modelの作成前にOMWBの設定を行う必要があるため、ここでは「No」を選択して 「Next」をクリックし次へ進みます。 |
||||||
![]() |
|||||||
5. | サマリー情報が表示されます。 内容を確認し、「Finish」をクリックしてCaptureを開始します。 |
||||||
![]() |
|||||||
6. | ソース・モデルの取得が開始されます。 以下のような画面が起動し、取得状況を表示します。 |
||||||
![]() |
|||||||
7. | 以下のようなメッセージが出てCaptureが完了します。 「OK」をクリックして一旦終了します。 |
||||||
![]() |
1. | メニューから「Tools」→「Options...」を選択します。 |
||
2. | 「Options」画面が起動します。
|
||
3. | 「General」タブ(デフォルトで開いています)の「Data file directory」に移行する
データベースの(表領域の)データベース・ファイルを作成するディレクトリを入力します。 データベース・ファイルの作成される場所ですから、このディレクトリは データベース・サーバのディレクトリであることに注意してください。多くの場合、データベース管理者は データベース関連ファイルを配置する場所を決めて管理しています。管理者のいる場合は、データファイルを 配置するディレクトリについて確認してください。 入力例) D:\oracle\oradata\orcl 入力が済んだら「OK」をクリックし設定を確定してください。 続いて、Captureされたソース・モデルの確認をします。左のペインにあるツリー項目を開き、 右側に表示される詳細とあわせ、各項目に問題がないかどうか一通り確認してください。 |
||
![]() |
|||
取得したソース・モデル(Tables) |
![]() |
|
ソース・モデルのリレーション |
![]() |
|
|||||||||||||||||
以下は、![]() |
|||||||||||||||||
1. | エクスポートしたXMLファイル(Northwind.xml)をnotepadなどのエディタで開きます。 | ||||||||||||||||
2. | OMWBの「Relations」以下に表示されているエントリの名前を検索し、 適切な名前に書き換えます。 | ||||||||||||||||
![]() |
|||||||||||||||||
例)リレーション名変更前 |
|||||||||||||||||
![]() |
|||||||||||||||||
例)リレーション名変更後 |
|||||||||||||||||
修正項目例
|
|||||||||||||||||
3. | XMLファイルの変更を保存します。 | ||||||||||||||||
4. | OMWBより、Capture Wizardを起動し、「Capture Wizardによるソース・モデルの取得」の 項の手順で再度XMLファイルを読み込み、ソース・モデルを作成します。 | ||||||||||||||||
5. | OMWBよりソース・モデルを確認し、リレーションの名前が修正されている事を確認します。 | ||||||||||||||||
![]() |
ソース・モデルを取得し内容をチェックしたら、
続いてソース・モデルを元にOracleモデルを作成します。 |
|||||||||
1. | メニューから「Action」→「Create Oracle Model...」を選択します。 | ||||||||
2. | 「Destination Database」画面が表示されます。
ここでは移行先データベースとして指定するOracleデータベースのタイプを
以下のタイプから選択します。
|
||||||||
3. | Oracleモデルの作成が開始されます。 以下のような画面が起動し、取得状況を表示します。 |
||||||||
![]() |
|||||||||
4. | 以下のようなメッセージが出て完了します。 「OK」をクリックして終了します。 |
||||||||
![]() |
![]() |
データベースの移行 |
|
1. |
OMWBのメニューから「Action」→「Migrate to Oracle...」を選択してウィザードを起動します。 「Next」をクリックして次へ進みます。 |
||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||
2. |
「Destination Database Details」画面が表示されます。 移行先データベースへの接続に必要な情報を入力します。 |
||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||
入力項目と内容
入力例
|
ポイント:
これらの接続情報がわからないときは、移行先のOracleデータベース管理者に確認するか、付録の「データベースへの接続情報の確認」の項を参照して接続情報を確認してください。
|
3. | 「Migrate Tablespace, Users, and User Tables」画面が表示されます。 「Next」をクリックして次へ進みます。 | ||||||||
![]() |
|||||||||
4. |
「Migrate Table Data」画面が表示されます。 テーブルデータを移行するかしないのかを選択する必要がありますので、「Yes」を選択し、 「Next」をクリックして次へ進みます。 |
||||||||
![]() |
|||||||||
5. |
「Select Schema Objects to migrate」画面が表示されます。 全てのスキーマ・オブジェクトが選択された状態になっていますので、 このまま「Next」をクリックして次へ進みます。 |
||||||||
![]() |
|||||||||
6. |
「Summary」画面が表示されます。 サマリー情報を確認して「Finish」をクリックします。 |
||||||||
![]() |
|||||||||
7. | 実際の移行プロセスが開始され、以下の画面のように進行状況が表示されます。 | ||||||||
![]() |
|||||||||
8. |
移行プロセス中に、以下のようにエラーのダイアログが出ることがあります。
とりあえずエラーを無視してこのまま続行する場合は、「Ignore Error」をクリックして続行します。
|
||||||||
9. | 移行プロセスが終了すると、次項で説明するAccess側の変更のためのAccessデータベースの 変更ウィザードが自動で起動しますが、ここはいったん終了するために「キャンセル」をクリックし、 ウィザードを終了します。 |
||||||||
![]() |
|||||||||
10. | 終了メッセージが表示されます。また、発生したエラー数などもレポートされます。 「OK」をクリックし、移行のプロセスを終了してください。 |
||||||||
![]() |
|||||||||
11. | 移行プロセスのログが表示されます。 「OK」をクリックして終了します。 |
||||||||
![]() |
|||||||||
以上でAccessデータベースからOracleデータベースへのデータ移行は終了です。 移行されたOracleデータベースはデフォルトでは以下のように作成されています。 パスワードなどはデフォルトでoracleとなっていますので、必要に応じて変更してください。 |
|||||||||
Oracle移行後のデータベース情報(カッコ内はnorthwindでの例)
|
Accessデータベースの変更 |
![]() |
Accessから利用する必要性 |
![]() |
Accessで作成したフォームやレポートを、 移行先のOracleデータベースに接続して使用出来るように修正する。 |
![]() |
アプリケーションを新規に作成しなおす。 |
![]() |
環境について |
![]() |
|
システム構成(追加) |
|
|
![]() |
Accessデータベースの変更 |
1. | 対象となるAccessデータベースを起動します。 ここでは、サンプルのNorthwind.mdbを開きます。 |
||||||||||||||||
2. | メニューから「ファイル」→「外部データの取り込み」→「テーブルのリンク」を選択します。 | ||||||||||||||||
3. | 「リンク」の指定をする画面が表示されます。 「ファイルの種類(T)」から「ODBC Databases()」を選択します。 |
||||||||||||||||
![]() |
|||||||||||||||||
4. | 「データ ソースの選択」画面が表示されます。
すでに登録されたものを使用する場合はそれを選択しますが、ここではデータソースを新規に作成していきます。 「新規作成」をクリックします。 |
||||||||||||||||
![]() |
|||||||||||||||||
5. | 「データ ソースの新規作成」画面が表示されます。 リストの中からOracle ODBCドライバを選択して「次へ」をクリックします。 |
||||||||||||||||
![]() |
|||||||||||||||||
|
|||||||||||||||||
6. | 作成するデータソースの名前を入力します。 わかり易い任意の名前を入力してください。 |
||||||||||||||||
![]() |
|||||||||||||||||
7. | 作成するデータソースのサマリーが表示されます。 「完了」をクリックし、データソースを作成します。 |
||||||||||||||||
![]() |
|||||||||||||||||
8. | Oracleへの接続情報を入力する画面が表示されます。 各項目を入力し、「OK」をクリックして設定を完了します。 ユーザ名・パスワードはOracle Model作成時にOMWBが決めた値、もしくは移行の際にカスタマイズ した値になります。(※POINT参照) (これらの値はデータベースの接続時に変更することも可能です。) |
||||||||||||||||
![]() |
|||||||||||||||||
入力項目
入力例
|
|||||||||||||||||
|
|||||||||||||||||
9. | 再度「データソースの選択」画面が表示されます。 先に登録したデータソースを選択し、「OK」をクリックして先へ進みます。 |
||||||||||||||||
![]() |
|||||||||||||||||
10. | 8.と同様にOracleへの接続情報を入力する画面が表示されます。 同様に入力し、「OK」をクリックして接続します。 |
||||||||||||||||
11. | 「テーブルのリンク」画面が表示されます。 リストにはOracleのテーブル名が<スキーマ名.テーブル名>の形式で表示されていますので、 目的のスキーマ、ここではNORTHWIND.〜を探します。 |
||||||||||||||||
![]() |
|||||||||||||||||
12. | リストのNORTHWIND.~の中から、Accessのオブジェクトでテーブルの項に表示されているものを
クリックして選択し、「OK」をクリックして次へ進みます。 今回、選択するのは以下の9つのテーブルです。 運送会社 / 仕入先 / 社員 / 受注 / 受注明細 / 商品 / 商品区分 / 都道府県 / 得意先 |
||||||||||||||||
![]() |
|||||||||||||||||
13. | Accessのテーブルの画面に以前からのテーブルと、今作成したリンクテーブルが表示されます。
|
||||||||||||||||
![]() |
|||||||||||||||||
14. | 作成されたリンクテーブルは「<スキーマ名>_<テーブル名>」になっていますが、
こちらをAccessのフォームなどから使用したい(≒Oracle上のテーブルを使用したい)ので、
アプリケーションの使用するテーブル名に変更する必要があります。 また、元々のテーブルは使用しないため削除もしくはリネームしておく必要があります。 今回は、元のテーブルを「BK_<テーブル名>」、リンクテーブルの名前をNORTHWIND _運送会社、 などから元々のテーブル名に入れ替えをします。 |
||||||||||||||||
15. | まず、もともとのテーブルの名前を「BK_<元のテーブル名>」に変更します。 例)「仕入先」→「BK_仕入先」 |
||||||||||||||||
![]() |
|||||||||||||||||
16. | 次いで、リンクテーブル名を元々のテーブル名に変更します。 例)「NORTHWIND_仕入先」→「仕入先」 |
||||||||||||||||
![]() |
|||||||||||||||||
17. | 以上でAccessデータベース側の変更は終了です。 フォームなどを起動して、以前と同様に使えることを確認してみてください。 |
付録 |
注意:
この構成を行い、Oracle Netを使用するには、使用しているPCにOracleデータベースか、 Oracle Clientが(厳密には必要とされるOracle Netのコンポーネントが)インストールされている必要があります。
|
|
||
1. | Net Configuration Assistant(NetCA)起動 OracleもしくはOracle ClientをインストールしたディレクトリをORACLE_HOMEとすると、
|
|
2. | 「Oracle Net Configuration Assistantへようこそ」画面が表示されます。 「ローカル・ネット・サービス名構成」を選択し、「次へ」をクリックします。 |
|
![]() |
||
3. | 「ネット・サービス名の構成」画面が表示されます。 「追加」を選択し「次へ」をクリックします。 |
|
「ネット・サービス名の構成」画面が表示されます。 「追加」を選択し「次へ」をクリックします。 |
||
![]() |
||
4. | 「ネット・サービス名の構成−サービス名」画面が表示されます。 接続先データベースのサービス名を入力します。 わからない場合は、データベース管理者に問い合わせるか、付録の「Oracleデータベースへの 接続情報の確認」の項を参考に確認してください。 |
|
![]() |
||
5. | 「ネット・サービス名の構成−プロトコルの選択」画面が表示されます。 「TCP」を選択し、「次へ」をクリックします。 |
|
![]() |
||
6. | 「ネット・サービス名の構成−TCP/IPプロトコル」画面が表示されます。 データベースのあるホスト名を入力し、「次へ」をクリックします。 |
|
![]() |
||
7. | 「ネット・サービス名の構成−テスト」画面が表示されます。
必要に応じ接続のテストを行います。 特に必要がなければ、「いいえ」を選択して次へ進みます。 |
|
8. | 「ネット・サービス名の構成−ネット・サービス名」画面が表示されます。
任意のネットサービス名を入力し、「次へ」をクリックします。 これがOracle ODBCやOracleクライアントから使用する際のサービス名になります。 |
|
![]() |
||
9. | 「他のネット・サービス名を構成しますか」で「いいえ」を選択し、NetCAを終了します。 8. で設定したネット・サービス名でサービスが追加されます。 データベースへの接続時など、構成したPC上でデータベースを利用する際にサービス名を要求される場合は、 このネット・サービス名を入力してください。 |
1. | 対象となるデータベースのサーバへログオンします。 | |||||||||
2. | 以下のコマンドを実行し、データベースへの接続情報を表示します。 | |||||||||
例えば、以下のような結果が表示されます。
|
||||||||||
3. |
上記の実行結果から必要な情報を確認します。 まず、サーバ名とPresentationがHTTP/FTPでないエントリのポートを確認します。 上記サンプルでは以下の行になります。
ここより以下の接続に必要な項目がわかります。 |
|||||||||
サンプルでの項目と値の例
|
||||||||||
|
||||||||||
4. |
使用可能なOracleデータベースのサービスを確認します。 〜XDBとあるのはXML DBのサービスですので、ここでは無視します。 サンプルでは以下の行を確認します。
上段がサービス名、下段がSIDをそれそれ表します。つまり、各値は以下のようになります。 |
|||||||||
サンプルでの項目と値の例
|
||||||||||
|
1. |
Oracle ODBCドライバがインストールされていることを確認します。
Oracle Universal Installerもしくは「ODBCデータソースアドミニストレータ」から確認できます。
通常、Oracle Clientのインストールされている環境ではインストールされていますが、 されていない場合は、
|
||||||||||||||||||||||
![]() |
|||||||||||||||||||||||
Universal Installer:ODBCドライバの確認 |
|||||||||||||||||||||||
2. | Oracle ODBCデータソースを登録します。 登録は以下のような手順で行います。
|