2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Oracle APEXアプリケーションのエクスポート/インポート

Last updated at Posted at 2025-02-21

はじめに

Oracle APEXアプリケーションのエクスポートではアプリケーションで利用しているオブジェクトやデータも含めることができます。今回データも含めてエクスポートし、別のワークスペースにインポートしてみました。
環境はAutonomous Databaseを用い、エクスポートするアプリケーションは、TASKSという表を元にウィザードで作成したシンプルなアプリケーションにしました。

image.png

image.png

アプリケーションのエクスポート

エクスポートに含めるオブジェクトの設定

エクスポートに含めるオブジェクトを設定します。
アプリケーション・ビルダーでアプリケーションを選択し、サポートするオブジェクトを開きます。

image.png

このUIでエクスポートに含めるデータベース・オブジェクト定義、データなどを定義できます。
インストールからインストール・スクリプトを選択します。

image.png

続けて作成をクリックします。

image.png

スクリプトにはタイプがあります。既存の表TASKSから定義スクリプトを作成するため、*データベース・オブジェクトから作成を選択します。

image.png

次にスクリプト属性として、名前、順序、オブジェクト・タイプを以下のように指定して、次をクリックします。

名前:任意の名前
順序:10 順序はスクリプトが実行される順番で使用されます。今回は1つだけなのでデフォルトの10のままにしました。
オブジェクト・タイプ:TABLE 

image.png

対象のオブジェクトを指定します。TASKSを選択して次へをクリックします。

image.png

TASKS表のDDLが表示されますので、確認後、作成をクリックします。

image.png

表を作成するスクリプトが作成されました。

image.png

データもエクスポートに含めるため、データ・パッケージを作成します。右側からデータ・パッケージの作成を選択します。

image.png

画面はスクリプトの作成でデータ・パッケージを選択した場合も同じですが、こちらのショートカットから進むと、既にTASKSが選択された状態で表示がされます。そのまま次を選択します。

image.png

確認の画面です。ロード後に削除が有効の場合、インポート対象のAPEXではにデータ・パッケージのファイルは削除されます。そのままにして終了をクリックします。

image.png

サポートするオブジェクトにデータ・パッケージのスクリプトが作成されました。

image.png

データ・パッケージのスクリプトの内容を見ると以下のようになっています。

begin --TASKS: 73/10000 行がエクスポートされました, APEX\$DATA\$PKG/TASKS$652419 apex_data_install.load_supporting_object_data(p_table_name => 'TASKS', p_delete_after_install => true ); end;

APEX\$DATA\$PKG/TASKS$652419は静的アプリケーション・ファイルの名前です。
静的アプリケーション・ファイルを確認してみます。
アプリケーションのホームから共有コンポーネントを選択し、ファイルとレポートにある静的アプリケーション・ファイルをクリックします。

image.png

スクリプトの名前と同じzipファイルの存在が確認できます。スクリプト設定のロード後に削除が有効の場合、こちらの静的アプリケーション・ファイルがインポート先のAPEXで削除されます。
無効にするとインポート後もアプリケーションの静的アプリケーション・ファイルとして利用できます。

image.png

エクスポートの実行

静的アプリケーション・ファイルのダウンロード

アプリケーションのエクスポートでは静的アプリケーション・ファイルは含まれないので、zipファイルのダウンロードリンクをクリックし、手動でダウンロードします。

image.png

アプリケーションのエクスポート

次にアプリケーションをエクスポートします。ホームからエクスポート/インポートを選んで、エクスポートをクリックします。

image.png

image.png

サポートするオブジェクトの定義はいになっていることを確認し、エクスポートします。

image.png

f104.sqlというSQLスクリプトが出力されました。
image.png

アプリケーションのインポート

ダウンロードした静的アプリケーションファイルとエクスポートしたSQLファイルf104.sqlをローカルPCの同じフォルダに配置して、何もアプリケーションを作成していない異なるワークスペースにインポートしてみます。アプリケーション・ビルダーからインポートを選択します。

image.png

出力されたf104.sqlを選択して、次をクリックします。

image.png

インストールの確認です。今回アプリケーションIDは変わっても問題がないため、そのままインストールします。

image.png

インストール中となり、

image.png

その後、サポートするオブジェクトが含まれているため、以下のような確認画面が表示されます。

image.png

インストールの詳細をプレビューをクリックするとこのような画面が表示されます。

image.png

プレビューを閉じて、サポートするオブジェクトのインストールを選ぶと、インストールが完了しました。

image.png

インストール・サマリーはこのような内容でした。

image.png

インポートしたアプリケーションの確認

インポートしたアプリケーションでユーザにロール割り当てを実施します。

image.png

その後、アプリケーションの実行をクリックします。ログイン画面が表示され、
image.png

ログインが成功すると、ホーム画面が正しく表示されました。
image.png

レポートにアクセスしデータも確認することができました。

image.png

おわりに

Oracle APEXで、アプリケーションで利用するオブジェクトを含めてアプリケーションのエクスポートとインポートを試してみました。気づいたところとして、データ・パッケージのスクリプトで73/10000 行がエクスポートされましたとあるように出力できるデータは10000件が最大になるようです。(20000件のデータを持っている表で試すとエラーにはならず10000件のみ抽出されていました、変更できるような場所は見当たらず。。。)。
データのエクスポート/インポートはデータベースの機能でもできますし、要件にあわせて利用いただければいいかな、と思いました。

参考にさせていただいた情報

http://apexugj.blogspot.com/2021/11/new212-data-packager.html
https://doyensys.com/blogs/packaging-data-with-your-app-export-in-oracle-apex/

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?