Forguncyマニュアル
外部データベースへの変換
Forguncyの使い方 > 外部データベース > 外部データベースへの変換

内部データベースのテーブルを、指定した外部データベース上のテーブルへと変換することができます。最初は内部データベースを使用して作成していたアプリケーションを、後から外部データベースへと移行する必要がある場合に本機能を使用することを検討してください。

変換先の対象となる外部データベースは、SQL Server、Oracle Database、MySQLです。本機能を使用するためには、それぞれのデーターベースにおいてテーブルに関するすべての権限を持つ接続情報を使用する必要があります。なお、Oracle Databaseの場合、「DBA_Tables」へのアクセス権も必要であることに注意してください。

注意:

本機能を使用して内部データベースを外部データベースへと変換した場合、変換した内部データベースのテーブルは削除されます。本機能を使用する前に、プロジェクトファイルをコピーし、バックアップを必ず行うようにしてください。

  1. [データ]リボンタブの[外部データベースへ変換]をクリックします。

  2. 外部データベースへの接続情報が存在しない場合、次のダイアログメッセージが表示されるので、[OK]ボタンをクリックします。

    外部データベースへの接続情報がすでに存在する場合、本ステップとステップ3は省略されます。

  3. 変換先の外部データベース接続情報を設定し、[OK]ボタンをクリックします。

  4. 変換したいテーブルを選択肢、[OK]ボタンをクリックします。

    [変換先の外部データベース]が複数存在する場合には、対象のデータベースを選択します。

    テーブルのみ変換可能で、ビューは一覧に表示されません。また、外部キー制約は変換対象となりません。ワークフローが設定されているテーブルを選択した場合、ワークフローの履歴を管理する内部的なテーブルも外部データベース上に作成されます。

    選択したテーブルと同名のテーブルが変換先の外部データベース上に存在する場合、次のダイアログメッセージが表示されます。[キャンセル]ボタンをクリックした場合、処理は中止されます。

  5. 選択したテーブルが外部データベース上のテーブルへと変換され、[ナビゲーション ウィンドウ]上ではリンクテーブルとして表示されます。

    次の図のように、対象の外部データベース上にテーブルが作成され、データが移行されていることを確認できます。

    なお、Oracle Databaseのテーブルへと変換した場合、新規レコードの作成時に「ID」フィールドがオートインクリメント(自動採番)されるようにはなっていません。Forguncyの自動採番の機能を使用して一意な値が設定されるようにするか、Oracle Databae側で次のコードを参考に自動採番を行うトリガーを作成する必要があります。

    作成するトリガーの一例

    コードのコピー
    CREATE SEQUENCE table1_seq START WITH 1;
    
    CREATE OR REPLACE TRIGGER table1_id_trigger
    BEFORE INSERT ON table1
    FOR EACH ROW
    
    BEGIN
      SELECT table1_seq.NEXTVAL
      INTO   :new.id
      FROM   dual;
    END;