サポート > データベース活用ガイド(R7) > 提供されるスクリプト
ja | en

外部データベース利用時には、ここに示すスクリプトを使ってテーブル管理を自動化できます。Windows OS は拡張子 ".bat" を、Unix OS は拡張子 ".sh" を使ってください。

ビルドしたアプリケーションであるwagbyapp/binフォルダに用意されています。
次のコマンドを入力することで、外部データベースとの接続テストを行うことができます。

> check_db.bat
Linux の場合は、check_db.sh となります。

コマンドの結果は同一フォルダ内の check_db.txt に出力されます。同ファイルの内容をチェックしエラーが発生していないことを確認してください。

接続テストが成功すれば check_db.txt 内に次のようなデータベース及びJDBCドライバの情報が出力されます。

...
getDatabaseProductName=HSQL Database Engine
getDatabaseProductVersion=2.0.0
...
getDriverName=HSQL Database Engine Driver
getDriverVersion=2.0.0
...

ビルドしたアプリケーションであるwagbyapp/binフォルダに用意されています。
次のコマンドを入力することで、テーブルの作成ならびに初期データの登録を行うことができます。

> init_db.bat
Linux の場合は、init_db.sh となります。

コマンドが正常に実行されると、次のように表示されます。

Command: auto
All table enabled
Config File:.\conf\initdb.xml
Log4j Property File: default file.
import seq 11/11 at 0 sec. process 11 at 0 sec. ...
...(省略)
import juser 2/2 at 0 sec. process 2 at 0 sec. ...
内蔵データベース利用時は、ビルド処理の一環として本スクリプトが実行されます。そのためビルドの都度、データは初期化されます。外部データベース利用時は、本処理は手動で行います。

ビルドしたアプリケーションであるwagbyapp/binフォルダに用意されています。
次のコマンドを入力することで、現在のテーブルの値をエクスポート(外部ファイルとして出力)することができます。

> export_db.bat ..\..\export\data_xxxx
フォルダ名は "data_" を接頭語としてください。
Linux の場合は、export_db.sh となります。

出力先は $(APPHOME)/export フォルダ以下になります。

Windows OS 利用時、このバッチファイルを(ファイルエクスプローラから)ダブルクリックして実行することはできません。コマンドライン引数として「対象フォルダ」を指定する必要があるためです。

ビルドしたアプリケーションであるwagbyapp/binフォルダに用意されています。
次のコマンドを入力することで、外部データベース上の(Wagbyに関する)データ及びテーブル定義を削除します。

> drop_db.bat
Linux の場合は、drop_db.sh となります。

$(APPHOME)/binフォルダに用意されています。
次のコマンドを入力することで、テーブルの作成ならびに、エクスポートフォルダ内のデータ一式を外部データベースに読み込むことができます。

> import_db.bat ..\..\export\data_xxxx
Linux の場合は、import_db.sh となります。
Windows OS 利用時、このバッチファイルを(ファイルエクスプローラから)ダブルクリックして実行することはできません。コマンドライン引数として「対象フォルダ」を指定する必要があるためです。

扱うデータサイズが巨大の場合

各スクリプト実行時に "Out Of Memory" (メモリ不足) というエラーメッセージが表示されることがあります。この場合、次のように対応します。

  1. テキストエディタでスクリプトファイルを開きます。
  2. スクリプトファイル内に -Xmx という表記でメモリサイズを指定している箇所があります。
    -Xmx512m
    標準では "512m" (512メガバイト)となっています。この値を大きくし、ファイルを保存します。(例 1024m とする。)
  3. 編集後、スクリプトファイルを再度、実行します。