サポート > データベース活用ガイド(R8)

Wagby はさまざまなデータベースを利用することができます。本ガイドでは、各データベース利用時の注意点やトラブルシューティングについて説明します。

1. JDBCドライバの配置

各データベースベンダーから提供されているデータベースドライバファイルを次のフォルダに保存します。

$(DEVHOME)/customize/tomcat/lib

例えば Oracle 利用時は、Wagby-8.x.x/customize/tomcat/lib/ojdbc7.jar というファイルがコピーされている必要があります。

内蔵データベース(HSQLDB)では、データベースドライバはすでに組み込まれているため配置の必要はありません。外部データベース利用時に行ってください。

2. WagbyDesignerにおけるデータベースの設定

利用するデータベースによって「データベースのURL」項目が補完されます。
「[ホスト名]」の文字列部分をデータベースサーバのホスト名もしくはIPアドレスに、「[DB名]」の文字列部分を(予め用意した)データベースの名前に変更します。
Webサーバとデータベースサーバを同一のマシンにインストールする場合は「ホスト名」の部分は「localhost」と指定します。

ホスト名 "localhost", データベース側に用意したデータベース名 "sampledb" とした場合の、各データベースへの接続URL記述方法は次のとおりです。

データベース URL
HSQLDB jdbc:hsqldb:sampledb
PostgreSQL jdbc:postgresql://localhost/sampledb
MySQL jdbc:mysql://localhost/sampledb?useUnicode=true&relaxautoCommit=true
Oracle 9i/10g/11g/12c jdbc:oracle:thin:@localhost:1521:sampledb
SQLServer 2012/2014/2016 jdbc:sqlserver://localhost;databasename=sampledb
DB2 jdbc:db2://localhost:50000/sampledb
DB2 AS/400 jdbc:as400://localhost/wagbydb
DBMaster jdbc:dbmaster:sampledb

3. フルビルド

データベースを切り替える場合、フルビルドが必要です。
(フルビルドはデータベースを切り替えた最初の一回だけ必要です。データベースを切り替えた後は、通常の差分ビルドをお使いいただけます。)

このためWagbyトライアルキット・開発キットに内蔵されているデータベースを使ってシステムを構築後、外部データベースに切り替える場合は、外部データベースの設定を行ったあと、必ず「フルビルド」を行ってください

4. 接続テスト

check_dbスクリプトを使って、外部データベースに正しく接続できることを確認できます。

利用するデータベースによって、型の変換ルールが異なります。またデータベース固有の制約もあります。詳細は以下の内容をお読みください。

  1. 内蔵データベース (HSQLDB)
  2. MySQL 4/5/6
  3. PostgreSQL 8/9
  4. Oracle (9i/10g/11g)
  5. SQLServer 2012/2014/2016
  6. DB2 (Version 8.1)
  7. DBMaster (JDBCドライバファイルや、Hibernate向けDialectファイルが別途必要です。詳細は DBMaker Japan へお問い合わせください。

ビルドしたアプリケーションは Tomcat が提供するコネクションプーリング機構を使っています。

関連するページ

テーブル作成や削除のスクリプト処理が途中でエラーになった場合の復旧方法

init_dbスクリプトやimport_dbスクリプトが途中で失敗した場合、DDL命令が中途半端に実行された可能性があります。

その後、テーブルの削除をdrop_dbスクリプトで行っても、必要なテーブルや制約がそろっていないために削除も失敗します。結果としていくつかのテーブルが削除できない不正な状態になります。

この場合は各データベースのツールを用いて、テーブルの削除作業を手動で行ってください。詳細は各データベースが提供しているツールの使い方をお読みください。

コマンドの実行順序による影響(アプリケーション入れ替え)

アプリケーションの入れ替えでは、旧版でexport_dbとdrop_dbを実行し、入替え後の新版でimport_dbを行う必要があります。

例えば旧版では存在したが、新版では存在しないモデルがあった場合は、旧版のdrop_dbを使わないとテーブルを削除することはできません。

サービスの起動順序による影響

Wagbyアプリケーションを起動するに、データベースは起動しておくようにしてください。この順序が逆の場合、Wagbyアプリケーションはデータベースと接続することができません。[参考 データベース環境 > データベースの自動再接続を有効にする]

障害の切り分け

外部データベース利用時にエラーが発生した場合、次の手順で切り分けてください。

  1. check_dbスクリプトは動作していますか。ここでエラーとなった場合、外部データベースへの接続ができていません。
  2. おおむね動作するが一部に動作不良があるという場合、データベース本体とJDBCドライバのバージョンの整合性を確認してください。JDBCドライバが古い場合、正常な動作とならないことがあります。
  3. 上記の問題ではない場合、ジャスミンソフトサポートへエラーメッセージを含んだログファイルをお送りください。

スクリプト実行時のログファイルの出力先を変更することはできますか。

可能です。詳細は「Wagby Developer Network > 設定ファイル > ログの扱いその他のツールのログ > データベース操作用スクリプトのログ」をお読みください。