サポート > データベース活用ガイド > データベース接続手順

Wagby Enterprise/Pro Unlimited/Pro では、本格的なデータベース製品を利用することができます。ここではその手順を説明します。

準備:無償版からのアップグレード

Wagby に内蔵のデータベース(HSQLDB)を使ってシステムを構築し、その後に外部データベースに切り替える場合は、外部データベースの設定を行ったあと、必ず「フルビルド」を行ってください。

方法(初回)

  1. 外部データベースをインストールします。詳細は各データベース製品に含まれているドキュメントをお読みください。 なお PostgreSQL と MySQL については、以下のインストールガイドをお使いいただけます。
  2. 対応するデータベースドライバソフトウェアを Wagby に登録(配置)します。データベースドライバはそれぞれのデータベース製品に同梱されています。
    データベースドライバの配置は、以下のフォルダにドライバファイルをコピーすることで完了します。

    R6 系

    $(DEVHOME)\customize\lib-common
    

    R5 系

    $(DEVHOME)\env\lib-common
    
    各データベースドライバを配置する際には、以下の命名規則に従ってファイル名を変更後、配置を行ってください。
    データベース データベースドライバファイル名
    R6系 R5系
    HSQLDB ドライバは既に組み込まれているため配置の必要はありません。
    PostgreSQL postgresql.jar pg74.214.jdbc3.jar
    MySQL mysql-connector-java.jar
    Oracle (9i/10g) ojdbc14.jar
    SQLServer2000/2005 sqljdbc.jar
    DB2 db2jcc.jar, db2jcc_license_cu.jar
    Adaptive Server Anywhere jconn2.jar
  3. Wagby定義ファイル「project_env.xls」を編集し、「database」タブで利用するデータベースを選択します。
    選択されたデータベースによって、「データベースのURL」項目が補完されるので「[ホスト名]」の文字列部分をデータベースサーバのホスト名もしくはIPアドレスに、「[DB名]」の文字列部分をデータベースの名前に変更するようにしてください。
    なお、Webサーバとデータベースサーバを同一のマシンにインストールする場合は「ホスト名」の部分は「localhost」と指定してください。

    例) データベースサーバのIPアドレスが「192.168.10.10」、データベース名が「sampledb」 となっている場合、「データベースのURL」には以下の値を設定します。
     変更前:jdbc:postgresql://[ホスト名]/[DB名]
     変更後:jdbc:postgresql://192.168.10.10/sampledb
    また、「ホスト名」と「データベース名」以外の設定が必要であれば続けて正しいURLを入力します。

    次にデータベースへ接続するユーザ名、パスワードを入力します。
    これらの設定を行うことによって、Wagbyによりビルドされたデータベースは、目的のデータベースへ接続できます。
    以下にデータベースのURL設定例を示します。
    データベース URL
    HSQLDB jdbc:hsqldb:sampledb
    PostgreSQL jdbc:postgresql://localhost/sampledb
    MySQL jdbc:mysql://localhost/sampledb?useUnicode=true&relaxautoCommit=true
    Oracle (9i/10g) jdbc:oracle:thin:@localhost:1521:sampledb
    SQLServer2000/2005 jdbc:sqlserver://localhost;databasename=sampledb
    DB2 jdbc:db2://localhost:50000/sampledb
    Adaptive Server Anywhere jdbc:sybase:Tds:localhost:2638?SERVICENAME=sampledb
    (*1) 上記例にある "sampledb" の部分は、お使いの環境にあわせて読み替えてください。
    (*2) URLは一行で入力します。
  4. 3.で設定したデータベース(上記の例では "sampledb") を作成して下さい。データベースの作成方法は各データベースのマニュアルを確認して下さい。
  5. Wagby を用いて Web アプリケーションをビルドします。
  6. check_db.bat (sh) スクリプトを使って、外部データベースに正しく接続できることを確認します。
  7. init_db.bat (sh) スクリプトを使って、データの初期移行を行います。(データベースに HSQLDB 以外のリレーショナルデータベースを指定した場合、初期移行を手動で行う必要があります。)
    コマンドプロンプトから、次のコマンドを入力します。
    > C:\Wagby-6.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. ...
    
    出力結果に Exception もしくは ERROR の文字がなければ処理は成功です。
  8. Web アプリケーションを起動し、ログオンを行います。初期化時に設定される管理者アカウント "admin" でログオンできることを確かめてください。

方法(二回目以降)

再ビルドを行う際には、ビルド前に「export_db」コマンドでデータを保存後、「drop_db」コマンドでデータベース内のテーブルを削除します。

ビルド後に「import_db」コマンドを実行して、データベース内にテーブルを作成し、あわせてデータを復元させます。

以下にコマンドライン操作での手順を示します。

  1. Web アプリケーションを起動します。
  2. Web アプリケーションで、データのエクスポートを行います。
    > C:\Wagby-6.0.0\wagbyapp\bin
    > export_db.bat ..\..\export\data_2008xxxx
    
    フォルダ名は "data_" を接頭語とし、日付(および時刻)を加えるとよいでしょう。
  3. Web アプリケーションを停止します。
  4. drop_db.bat を実行します。
    > drop_db.bat
    
    これで外部データベース上の(Wagbyに関する)テーブルがすべて消去されます。
  5. 再ビルドを行います。
  6. wagbyapp\bin\import_db.bat を実行し、先にエクスポートしたデータを復元させます。
    > cd C:\Wagby-6.0.0\wagbyapp\bin
    > import_db.bat ..\..\export\data_2008xxxx
    
    先ほどエクスポートしたフォルダを指定します。
  7. Web アプリケーションを起動します。

外部データベースを使用する場合は、常にこの手順を行ってください。

ログオンできない場合

外部データベースのテーブルについて、次の点を確認してください。

  • テーブル juser, jprincipal が存在するか。
  • テーブル juser に "admin" というアカウントが存在するか。

テーブルが存在しない、または "admin" というデータがない場合は、データの初期化(init_db.bat)が失敗している可能性があります。 再度、実行してみてください。