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

ここでは、DB2 (Version 8.1) 利用時の注意点を示します。

仕様および制約

  • テーブル名(Wagbyのモデル名)の最大長は 128 文字です。
  • カラム名(Wagbyのモデル項目名)の最大長は30文字です。
  • カラムへのユニーク制約を適用する場合、同カラムは必須項目である必要があります。
  • コードセットIBM-943を使用して作成されたデータベースへの接続に失敗します。
  • Windows Vista で採用されたサロゲート・ペア文字対応方法は IBM 社へお問い合わせください。

型のマッピング

Wagby で指定した型は、データベース内で次のように扱われます。

整数型 integer
文字列型 varchar(255)
文字列型 (テキストエリア) varchar(4000)
日付型 date
時間型 time
日付時間型 timestamp
ファイル型(ファイル名) varchar(255)
1バイト整数 smallint
2バイト整数 smallint
4バイト整数 integer
8バイト整数 bigint
4バイト浮動小数点数 float
8バイト浮動小数点数 double
固定値 (作成日/更新日) timestamp
その他 (URL型/メールアドレス型など) varchar(255)
※1 モデル参照の場合は、参照先モデルの主キーの型に準じます。
※2 開発者の方で型を変更することもできます。詳細は Wagby 定義ファイルマニュアル「モデルの定義 > 項目の型を定義する」をお読み下さい。
※3 varchar 型で指定する数は「バイト」単位です。詳細はデータベースのマニュアルでご確認ください。
※4 varchar 型で指定する数を増やす場合は、ページサイズを変更しなければならない場合があります。詳細は DB2 のマニュアルをお読みください。

ページサイズの変更

DB2 で「表スペース・ページ・サイズ」を変更しなければならなくなった場合、ページサイズ変更の前に、Wagby で定義したモデルの各項目の定義を見直すことで問題を解決できる可能性があります。

具体的には、Wagby が自動生成した DB2 用の DDL 文(create table 文)を参照します。例えば文字列型項目の場合、Wagby が自動生成する DDL 上では 255 文字を確保するようになっています。このサイズを微調整することで、ページ・サイズの変更を抑制できる可能性があります。

変更の具体的な方法は、Wagby 定義ファイルマニュアル「項目の型を定義する」をお読みください。

なお、表スペース・ページ・サイズの変更作業そのものは Wagby から行うことはできません。DB2 のマニュアルに従って作業を行ってください。

Wagby内部に同梱されている定義ファイルに関する注意

項目の型定義の変更に関連して、補足情報があります。 Wagby 内部に同梱されている定義ファイルにて、テキストエリアを使用している項目がありますが、これが影響して DB2 利用時にはテーブル作成時にエラーが発生することがあります。

この場合は、$(DEVHOME)\env\xls-common フォルダに含まれる、各定義ファイルを変更します。以下に手順を示します。

  1. common-jfcjobschedule.xls ファイルを開きます。モデル定義シートの AA 列に「変更不可項目」欄がありますので、この設定を外してください。
  2. jfcjob(ジョブマスタ)モデルの「詳細説明(description)」項目について、「テーブル定義の型」に項目長を設定します。「varchar(2000)」とします。
  3. jfcjobschedule(ジョブスケジュール)モデルの「スケジュールの詳細(description)」項目について、「テーブル定義の型」に項目長を設定します。「varchar(1000)」とします。
  4. common-jfcmailtemplate.xls ファイルを開きます。モデル定義シートの AA 列に「変更不可項目」欄がありますので、この設定を外してください。
  5. jfcmailtemplate(メールテンプレート)モデルの「本文(body)」項目について、「テーブル定義の型」に項目長を設定します。「varchar(2000)」とします。
  6. common-jfcworflow.xls ファイルを開きます。モデル定義シートの AA 列に「変更不可項目」欄がありますので、この設定を外してください。
  7. jfcworkstate(フロー状態)モデルの「コメント(comment)」項目について、「テーブル定義の型」に項目長を設定します。「varchar(2000)」とします。

DB2利用時の順序の扱いについて

Wagby で「人工キー」を指定した場合、DB2 が提供する「順序」を使います。 ここで、DB2 の順序機能は標準で欠番が発生する仕様となっています。これを抑制するには次の SQL を発行する必要があります。

alter sequence <順序名> no cache;

※ no と cache の間にスペースがあります。

Wagby R6.5 Update 15 より、上記 "no cache" 指定を自動的に付与するようにしました。