サポート > リポジトリ > 環境 > データベース

Wagby が利用するデータベースを変更する方法を説明します。

「環境」メニューから「データベース」を選択します。

図1 データベースの設定

データベース

次のデータベースから一つを選択できます。(複数のデータベースを選択することはできません。)

  • HSQLDB (組み込みDB) Wagby同梱版のみ、変更不可
  • PostgreSQL
  • Oracle
  • SQLServer
  • DB2
  • MySQL

利用できるデータベースのバージョンは「環境 > 本番運用サーバ」のページを参照してください。

接続先データベースを変更した場合は「フルビルド」を行う必要があります。

接続URL

リレーショナルデータベースへ接続するためのURLを指定します。 選択されたリレーショナルデータベースによってURLの書式が異なります。 書式の詳細は「サポート>データベース活用ガイド>接続手順>WagbyDesignerにおけるデータベースの設定」をお読みください。

ユーザ名

リレーショナルデータベース側で用意されたユーザ名を指定します。 予め、データベース側にユーザを作成しておいてください。

パスワード

利用するリレーショナルデータベース側で用意されたユーザ名に対応したパスワードを指定します。 予め、データベース側にユーザのパスワードを設定しておいてください。

文字エンコード

外部データベースの文字コードを指定することができます。標準は UTF-8 となっています。

この値は自由入力形式となっています。利用する外部データベースの作成時に指定した文字コードを転記するようにしてください。

識別子の区切り文字

Wagby は標準で、SQL文における識別子の区切り文字を設定するようになっています。

このため、Wagby が作成したテーブルを(外部システムなどで)SQL 文を使って利用する場合はテーブル名、カラム名に区切り文字を付与する必要があります。例えば、次のようになります。

select * from "juser" where "id" > 0

この設定を「区切り文字を指定しない」に変えることができます。
この場合、モデルIDやモデル項目IDに利用できないパターンが生じることに配慮する必要があります。 詳細は「サポート - データベース活用ガイド - [技術資料] SQL文における識別子の区切り文字」をお読みください。

HSQLDB(組み込みDB)では、識別子の区切り文字は指定できません。

データベースの自動再接続を有効にする

Wagby が利用している外部データベースを再起動する場合、Wagby で構築したアプリケーション (wagbyapp) も再起動する必要があります。

本設定を有効にすると、データベースへ問い合わせる度に、接続確認処理を行なうようになります。アプリケーションの再起動は不要になります。

本設定は内蔵データベースを用いている場合には適用されません。

この設定を行うと、接続確認処理のためシステムのパフォーマンスが若干、低下します。外部データベースの再起動処理が頻繁に行われないようであれば、本設定は適用しないことを推奨します。
この設定は「Wagbyアプリケーションを起動したあとに、データベースを起動する」というパターンには対応していません。Wagbyアプリケーションは起動時にデータベース接続を行いますが、最初の接続に失敗すると(以降、データベースが回復しても)動作しません。

最大接続数

アプリケーションとデータベースの間の通信に利用される仮想的な「コネクション(接続)」の最大数を設定します。 このコネクションは、複数の利用者(Webブラウザ)で再利用されます。初期値は「24」です。1より大きい数を指定してください。

例えば Wagby の同時認証接続数が 100 の場合、最大 100 名の利用者がログオンします。ここで、コネクションの最大数が 24 の場合、100 名の利用者が 24 本の仮想線を使い回すことになります。Wagby の同時認証接続数に合わせて、この数値を調整することでパフォーマンスが向上します。

この値に -1 を指定すると「無制限」となります。なお、この数値を変更した場合、それに合わせてデータベース側の設定変更(接続受け入れ本数の上限数の指定)が必要になる場合があります。詳細はご利用になる外部データベースのマニュアルをお読みください。

「データベースへの最大接続数」が小さい場合、運用中にデータベース接続エラーが発生することがあります。初期値 24 を下回る設定を行う場合はご注意ください。

未使用接続の最大数

未使用状態になっているコネクションの最大数を指定します。0 を指定すると「無制限」となります。初期値は「8」です。

最大待ち時間

ある利用者によってコネクションが使われたあと、次の利用者が使えるようになるまでの待ち時間を指定します。「-1」を指定すると無制限(永久に待ち続ける)となります。単位はミリ秒です。初期値は「2000ミリ秒」です。

すでに運用中の本番機の設定を変更する場合、次の説明を参考に設定ファイルを編集してください。

設定 対応する設定ファイル 設定場所
接続URL wagbyapp\conf\server.xml Resource/@name="jdbc/jfc" 要素のurl属性
ユーザ名 wagbyapp\conf\server.xml Resource/@name="jdbc/jfc" 要素のusername属性
パスワード wagbyapp\conf\server.xml Resource/@name="jdbc/jfc" 要素のpassword属性
最大接続数 wagbyapp\conf\server.xml Resource/@name="jdbc/jfc" 要素のmaxActive属性
未使用接続の最大数 wagbyapp\conf\server.xml Resource/@name="jdbc/jfc" 要素のmaxIdle属性
最大待ち時間 wagbyapp\conf\server.xml Resource/@name="jdbc/jfc" 要素のmaxWait属性

外部データベースを利用する場合は、それぞれのデータベースにおける使用上の注意事項に目を通してください。
例えば DB2 の場合、表スペース・ページ・サイズの変更を行うか、または各モデル項目の型を個別に定義するといった追加作業が必要になることがあります。

「データベース環境 > 最大接続数」は、コネクションプーリングという技術を使って管理されます。 標準では Commons DBCP を使います。

  • Wagby はコネクションプールからコネクションを取得するという処理を行います。コネクションの接続や解放は、上記コネクションプール機構が行います。
  • Commons DBCP は「プール内に空き接続が無ければ、新たに接続を作って返す」というルールとなっています。

より詳細な情報は「データベース活用ガイド > コネクションプーリング」をお読みください。