意外と簡単!? Access→Oracle

http://d.hatena.ne.jp/nakunaru/20050110
に関してhttp://d.hatena.ne.jp/nakunaru/20050110で書いたんだけど、実際にこれをやる案件が入ったり。
具体的には「Oracle Migration Workbench」なるツールを使えばちょちょいのちょい、ってことらしいんだけど、少し調査した事をメモメモ。


まずこのツールのバージョンが9.2.0.1.7と10.1.0.2.2があります。
恐らくORACLE Serverのリリースとほぼ同じバージョンで出ているんだと思われ。
んで今回の案件は9iなんで、9.2.0.1.7でテスト。



アクセスのmdbはアクセスのサンプルDB、「NorthWindなんちゃら」ってやつ。
というか、PDFマニュアル通りね。
以下、引っかかった点


問題:MDBのテーブル定義をXMLで出力してその文字コードセットをShift_JISに書き換える。それを取り込む画面で「Shift_JISはサポートしてねぇよボケ」という意味合いのメッセージが出て取り込みできない。
UTFのままだとエラーは出ないけど、日本語は当然バケバケ。(テーブル名に日本語使うなよ!w)
解決:ちゃんと調査してないけど、9.2.0.1.7の制限事項じゃないかな。
10.1.0.2.2でやれば問題なくShift_JISで通りました。
DBは8i/9i/10gどれでもOK。




問題:アクセスのリレーションシップ名を取り込むと{}で囲まれた変な記号の羅列の名前になってしまう。
解決:取り込む前にXMLファイルを手で編集する。(ただし明快な名前を付けるために、どこのリレーションかを調べるのが面倒。というかやってらんない)
もしくは、アクセスでリレーションシップを再作成してから、取り込み直し。(これもやってらんないけど、どっちかっていうとこっちのが楽かも)


今の所このくらいかな。
あとは今後出そうな問題としては、アクセスの列長の指定って文字数だったような気がするんだけど、ORACLEではバイト数の指定なんで、そこらへんがどうなのかな。
あとOracle Migration Workbenchではテーブル定義のインポートしかできないっぽ。
データ移行は別途必要なんで、そこも自動化するツールを作るかどうか迷うところかな。


もし「ここらへん注意だよ」とかご存知の方いらっしゃったらご報告いただけると嬉しいかも。