MENU
Dr.Sumでデータベース間のビューの移行をする場合、CREATE VIEWコマンドをコピーして、移行先のデータベースに流すことはよくやるのですが、そうすると、移行したビューのプロパティを見ると[テキストモード]になってしまい、デザインビューが開きません。
今回はデータベース間で移行したビューをデザインモードで開く方法を紹介します。
今回の方法は移行前と移行後のビューの内容が完全に一致している必要があります。もしビューの内容に変更がある場合は、移行前・もしくは移行後に修正を加えるようにしましょう。
続いて、今回紹介する環境を説明します。
移行元のデータベースを[IKO_1]、移行先のデータベースを[IKO_2]としています。
テーブルは[IKO_1]も[IKO_2]も同じものが入っています。
ビューは[IKO_1]データベースに入っていて、[IKO_2]データベースには入っていません。
[IKO_1]データベースに入っている[V_Order]ビューを[IKO_2]データベースに移行して、デザインモードで開くことが今回のゴールとなります。
それではさっそくやってみましょう。
移行するビューのSQL文をコピーして、移行先のデータベースに流します。
移行するビューで右クリックをして[SQLの確認]をクリックします。
そうすると[SQLの確認]ウィンドウが立ち上がり、SQL文が表示されるので、そのテキスト文をすべてコピーします。
続いてEnterprise ManagerのSQL Executorを開き、接続先データベースをビューを移行したいデータベースにして(画面では[IKO_2]を選択)、
コピーしたSQL文を貼り付け、[SQLの実行]をします。
うまく行くと、[IKO_2]に[V_Order]ビューが作られます。
しかしこの状態で、[ビューのプロパティ]を開いても、ビューは移行されていますがテキストモードの状態です。
それでは次に、ビューをデザインモードで開けるようにしましょう。
実はビューのデザイン情報はとあるファイルに保存されています。
そのファイルをコピーして移行先のデータベースに配置すれば良いのです。
データベースがサーバーのどこに格納されているかは該当のデータベースを右クリックして[プロパティ]をクリックすると[ディレクトリ]に情報が記載されています。
今回の画面では
・C:¥data¥db¥IKO_1
・C:¥data¥db¥IKO_2
としています。
フォルダを開いてみると、[IKO_1]、[IKO_2]のそれぞれに[VIEW]というフォルダがあります。
その中を開けると[IKO_1]の[VIEW]フォルダの中には[V_Order]ファイルがあります。こちらのファイルをコピーして[IKO_2]の[VIEW]フォルダの中に貼り付けましょう。
これで作業は完了です。
それでは[IKO_2]データベースの[V_Order]ビューを開いてみましょう。
ご覧のようにデザインビューで表示されましたね。
データベース間のビューの移行はたまに使うテクニックなので、ぜひ参考にしてみてください。
Related article
Pick up
Ranking
Info