データベース
最終更新日: 2022年12月7日
R8 | R9
「環境」メニューから「データベース」を選択します。
1つのWagbyアプリケーションから、複数のデータベースを利用することができます。詳細は "モデル > サブデータベースを指定する" をお読みください。
次のデータベースから一つを選択できます。
利用できるデータベースのバージョンは「環境 > 本番運用サーバ」のページを参照してください。
上記に記載していないデータベースを利用するために、設定欄を拡張することもできます。
Wagbyでは、HSQLDB以外のデータベースを「外部データベース」と呼んでいます。外部データベースを利用する場合は、そのデータベースに対応した「JDBCドライバファイル」を用意する必要があります。詳細は"外部連携>データベース活用ガイド>接続手順>をお読みください。
リレーショナルデータベースへ接続するためのURLを指定します。
選択されたリレーショナルデータベースによってURLの書式が異なります。
詳細は"他社製品との連携>データベース活用ガイド>接続手順をお読みください。
リレーショナルデータベース側で用意されたユーザ名を指定します。
予め、データベース側にユーザを作成しておいてください。
利用するリレーショナルデータベース側で用意されたユーザ名に対応したパスワードを指定します。
予め、データベース側にユーザのパスワードを設定しておいてください。
外部データベースの文字コードを指定することができます。標準は UTF-8 となっています。
この値は自由入力形式となっています。利用する外部データベースの作成時に指定した文字コードを転記するようにしてください。
データベース製品に固有の文字エンコーディングを指定することはできません。例えばオラクル製品が提供する "JA16SJIS" を指定することはできません。この場合は代わりに "Windows-31J" としてください。
Wagby は標準で、SQL文における識別子の区切り文字を設定するようになっています。
このため、Wagby が作成したテーブルを(外部システムなどで)SQL 文を使って利用する場合はテーブル名、カラム名に区切り文字を付与する必要があります。例えば、次のようになります。
この設定を「区切り文字を指定しない」に変えることができます。
区切り文字を指定しない設定のとき、利用するデータベースによってはテーブル作成に失敗することがあります。これはデータベースの予約語が(テーブルの)列名に使われていたことが原因です。このような場合はエラーとなった列の物理名を指定して回避してください。
Wagby が利用している外部データベースを再起動する場合、Wagby で構築したアプリケーション (wagbyapp) も再起動する必要があります。
本設定を有効にすると、データベースへ問い合わせる度に、接続確認処理を行なうようになります。アプリケーションの再起動は不要になります。
この設定を行うと、接続確認処理のためシステムのパフォーマンスが若干、低下します。外部データベースの再起動処理が頻繁に行われないようであれば、本設定は適用しないことを推奨します。
この設定は「Wagbyアプリケーションを起動したあとに、データベースを起動する」というパターンには対応していません。Wagbyアプリケーションは起動時にデータベース接続を行いますが、最初の接続に失敗すると(以降、データベースが回復しても)動作しません。
生成される DDL (create table) において、必須項目のカラムにデフォルト値を付与します。migrate_db コマンドを用いたスキーママイグレーションを行う場合、この設定を有効にしてください。
アプリケーションとデータベースの間の通信に利用される仮想的な「コネクション(接続)」の最大数を設定します。
このコネクションは、複数の利用者(Webブラウザ)で再利用されます。初期値は「100」です。1より大きい数を指定してください。
例えば Wagby の同時認証接続数が 200 の場合、最大 200 名の利用者がログオンします。ここで、コネクションの最大数が 100 の場合、200 名の利用者が 100 本の仮想線を使い回すことになります。Wagby の同時認証接続数に合わせて、この数値を調整することでパフォーマンスが向上します。
この値に -1 を指定すると「無制限」となります。なお、この数値を変更した場合、それに合わせてデータベース側の設定変更(接続受け入れ本数の上限数の指定)が必要になる場合があります。詳細はご利用になる外部データベースのマニュアルをお読みください。
「データベースへの最大接続数」が小さい場合、運用中にデータベース接続エラーが発生することがあります。初期値 100 を下回る設定を行う場合はご注意ください。
未使用状態になっているコネクションの最大数を指定します。0 を指定すると「無制限」となります。初期値は「10」です。
ある利用者によってコネクションが使われたあと、次の利用者が使えるようになるまでの待ち時間を指定します。「-1」を指定すると無制限(永久に待ち続ける)となります。単位はミリ秒です。初期値は「2000ミリ秒」です。
データベース設定欄の「パスワード」の値が AES-256 で暗号化されます。詳細は「連携する技術>データベース接続のパスワードを暗号化する」をお読みください。
サブデータベースで有効です。(*4)
ここで設定した値は、SQL 発行時にテーブル名の先頭に付与されます。例えばスキーマに "FUNNY" を設定すると、SELECT 文が "FUNNY.テーブル名" となります。
すでに運用中の本番機の設定を変更する場合、次の説明を参考に設定ファイルを編集してください。
同様に wagbyapp\webapps\$(APPNAME)\WEB-INF\export\conf\initdb.xml も修正してください。initdb.xmlの詳細な説明はこちらをお読みください。
外部データベースを利用する場合は、それぞれのデータベースにおける使用上の注意事項に目を通してください。
「データベース環境 > 最大接続数」は、コネクションプーリングという技術を使って管理されます。
標準では Commons DBCP を使います。
データベースの設定
メインデータベースとサブデータベース
データベース接続
データベース
ワンポイント
接続URL
ユーザ名
パスワード
データベース環境
文字エンコード
重要
識別子の区切り文字
select * from "juser" where "id" > 0
この場合、モデルIDやモデル項目IDに利用できないパターンが生じることに配慮する必要があります。
詳細は "Appendix > SQL文における識別子の区切り文字"をお読みください。
重要
データベースの自動再接続を有効にする
注意
重要
列にデフォルト値を設定する 8.5.0
最大接続数
注意
未使用接続の最大数
最大待ち時間
データベースパスワードを暗号化する8.5.7
スキーマ
メインデータベースでのスキーマ指定は現在、開発中です。将来の Wagby R8 のバージョンアップで対応予定です。 メインデータベースでのスキーマ指定はR8では未対応です。R9で対応を継続します。
対応する設定ファイル
R8.5.7〜
設定
対応する設定ファイル
設定場所
接続URL
wagbyapp\conf\catalina.properties
WAGBY_DATASOURCE_URL
ユーザ名
WAGBY_DATASOURCE_USERNAME
パスワード
WAGBY_DATASOURCE_PASSWORD
最大接続数
WAGBY_DATASOURCE_MAXTOTAL
未使用接続の最大数
WAGBY_DATASOURCE_MAXIDLE
最大待ち時間
WAGBY_DATASOURCE_MAXWAITMILLIS
R8.0.0〜R8.5.6
設定
対応する設定ファイル
設定場所
接続URL
wagbyapp\webapps\$(APPNAME)\META-INF\context.xml
Resource/@name="jdbc/jfc" 要素のurl属性
ユーザ名
Resource/@name="jdbc/jfc" 要素のusername属性
パスワード
Resource/@name="jdbc/jfc" 要素のpassword属性
最大接続数
Resource/@name="jdbc/jfc" 要素のmaxActive属性
未使用接続の最大数
Resource/@name="jdbc/jfc" 要素のmaxIdle属性
最大待ち時間
Resource/@name="jdbc/jfc" 要素のmaxWait属性
注意事項
コネクションプーリング
関連するページ