Cosminexus V9 BPM/ESB基盤 サービスプラットフォーム 開発ガイド 受付・アダプタ定義編

[目次][用語][索引][前へ][次へ]

3.3.5 DBアダプタを定義する

DBアダプタの定義方法について説明します。

<この項の構成>
(1) SQLオペレーション定義ファイルの作成
(2) 電文フォーマットの作成
(3) サービスアダプタ定義画面での操作
(4) アプリケーション統合属性ファイルの編集
(5) データ変換
(6) EARファイルの入れ替え
(7) サービスリクエスタの作成

(1) SQLオペレーション定義ファイルの作成

SQLオペレーション定義ファイルは,実行環境でDBアダプタを介してアクセスするデータベースの情報や,SQLの実行形式を定義するファイルです。DBアダプタ用のXMLフォーマット定義ファイルを作成するときの基となるファイルです。

SQLオペレーション定義ファイルの作成方法を次に説明します。

SQLオペレーション定義ファイルは,テキストエディタなどを使用してXML文書形式で作成します。XML文書で使用できない「<」,「>」,「&」などの文字を使用する場合,エスケープするか,CDATAセクションを利用する必要があります。

要素,属性およびテキストデータは,W3CのXMLの仕様に従って指定します。

なお,XML名前空間名は使用できません。

作成するXML文書の詳細を説明します。

●ファイル名
SQLオペレーション定義ファイルのファイル名は,次の形式で指定します。
 
csa_sql_<任意の名称>.xml
 

●構造
SQLオペレーション定義ファイルの構造を次に示します。

図3-2 SQLオペレーション定義ファイルの構造

[図データ]

●SQLオペレーション定義ファイルの形式
SQLオペレーション定義ファイルの形式を次に示します。なお,斜体の文字は可変値を表します。
 
<?xml version="XMLのバージョン" encoding="文字コード"?>
<DBadapter_SQL_OPERATION dba_separate_transaction="トランザクション分離オプション" sqloperation_chk="SQL命令チェックオプション">
    <DATABASE_DATA>
        <DB_NAME dynamic="接続先の動的変更オプション">データベース参照名</DB_NAME>
        <DB_TYPE>データベース種別</DB_TYPE>
    </DATABASE_DATA>
    <SQL_DATA encoding="文字バイナリデータのエンコード・デコード形式">
        <SQL識別子 out_maxOccurs="検索結果出力最大件数">
            SQL命令 <引数要素名 dba_inf="引数の種別" data_type="データ型"/>
        </SQL識別子>
            :
    </SQL_DATA>
    <MULTI_SQL_DATA>
        <MAX_SQL_NO>1回のサービス部品実行要求で実行するSQL文の最大個数</MAX_SQL_NO>
    </MULTI_SQL_DATA>
</DBadapter_SQL_OPERATION>
 
SQLオペレーション定義ファイルで定義する内容について次に説明します。
XML宣言
XMLのバージョンには,XMLの言語仕様に従ってXMLのバージョンを指定します。文字コードにはUTF-8を指定してください。なお,文字コードの指定は省略できます。省略した場合の値は「UTF-8またはUTF-16」になります。
 
<?xml version="XMLのバージョン" encoding="文字コード"?>
 
ルート要素(要素名:DBadapter_SQL_OPERATION)
SQLオペレーション定義ファイルのルート要素です。
 
<DBadapter_SQL_OPERATION dba_separate_transaction="Y|N" sqloperation_chk="Y|N">
    :
</DBadapter_SQL_OPERATION>
 
  • dba_separate_transaction
    DBアダプタのトランザクションをビジネスプロセスとは別に開始するかどうかを指定します。トランザクションを分離する場合はYを,分離しない場合はNを指定します。指定を省略した場合は,HCSCサーバランタイム定義ファイルの「dba-separate-transaction」の値が有効となります。この属性と,HCSCサーバランタイム定義ファイルに「dba-separate-transaction」の両方が指定してある場合は,この属性の指定値が優先されます。
    なお,この属性にYを指定する場合は,事前にDBアダプタのアプリケーション統合属性ファイルのtrans-attribute要素の指定値を「Required」から「RequiresNew」に変更してください。
  • sqloperation_chk
    DBアダプタで実行するSQL命令の制限をするかどうかを指定します。SQL命令をSELECTとINSERTに制限する場合はYを,SQL命令でSELECTとINSERTに加えてUPDATEとDELETEを実行する場合はNを指定します。指定を省略した場合は,Yが指定されているときと同じ動作となります。
データベース情報(要素名:DATABASE_DATA)
下位の要素(DB_NAMEおよびDB_TYPE)で,データベースの情報を指定します。
 
<DATABASE_DATA>
    データベース参照名
    データベース種別
</DATABASE_DATA>
 
データベース参照名(要素名:DB_NAME)
DB Connectorのデータベース参照名を指定します。
DBアダプタ実行時に,ここで指定した値を元にアプリケーション統合属性ファイルのリソース参照を検索するため,アプリケーション統合属性ファイルのres-ref-name要素指定値と同じ値を指定してください。
dynamic属性にYが設定されている場合はこの要素の値は省略できます。また,この要素の値がすでに設定されていた場合は指定を無視します。
 
<DB_NAME dynamic="Y|N">データベース参照名</DB_NAME>
 
  • dynamic
    接続先を動的に変更するかどうかを指定します。
    接続先を動的に変更する場合はYを,動的に変更しない場合はNを指定します。指定を省略した場合は,Nが指定されたときと同じ動作になります。
データベース種別(要素名:DB_TYPE)
データベースの種別として次のどれかを指定します。
  • HIRDB
    DBMSとしてHiRDBを使用する場合(DB ConnectorとしてDBConnector_DABJ_CP/XA.rarを使用する場合)に指定します。
  • HIRDB-TYPE4
    DBMSとしてHiRDBを使用する場合(DB ConnectorとしてDBConnector_HiRDB_Type4_CP/XA.rarを使用する場合)に指定します。
  • ORACLE
    DBMSとしてOracleを使用する場合(DB ConnectorとしてDBConnector_DABJ_CP/XA.rarを使用する場合)に指定します。
  • ORACLE-THIN
    DBMSとしてOracleを使用する場合(DB ConnectorとしてDBConnector_Oracle_CP/XA.rarを使用する場合)に指定します。
     
    <DB_TYPE>データベース種別</DB_TYPE>
     
SQL情報(要素名:SQL_DATA)
下位の要素(SQL識別子およびSQL実行文)で,実行するSQLの情報を指定します。
 
<SQL_DATA encoding="hexBinary|base64Binary">
    SQL識別子
        SQL実行文
</SQL_DATA>
 
  • encoding
    バイナリデータのエンコード・デコード形式を指定します。
    hexBinary形式でエンコードまたはデコードする場合はhexBinaryを,base64Binary形式でエンコードまたはデコードする場合はbase64Binaryを指定します。指定を省略した場合は,hexBinaryが指定されたときと同じ動作になります。
    なお,この属性が有効になるのは,data_type属性に次のデータ型が指定された場合だけです。
    HiRDBの場合:LONGVARBINARY
    Oracleの場合:VARBINARY,LONGVARBINARY,BLOB
    注意
    バイナリデータをデータ変換する場合,SQLオペレーション定義ファイルのencoding属性に指定した値とバイナリフォーマット定義ファイルに指定したエンコード・デコード形式を合わせてください。形式が異なる場合の動作は保証されません。
    参考
    09-50より前の環境からDBアダプタをバージョンアップした場合に,エンコード・デコード形式をbase64binaryに変更する手順を次に示します。
    1. 開発環境でバイナリフォーマット定義ファイルを再作成します。
    2. SQLオペレーション定義ファイルを修正(エンコード・デコード形式を設定)します。
    3. 修正したSQLオペレーション定義ファイルを使用してcsamkxmlsコマンドでXMLスキーマを生成します。
    4. XMLスキーマとバイナリフォーマット定義ファイルを開発環境でDBアダプタに設定します。
    5. 開発環境でマッピング定義を再設定します。
    6. 開発環境で修正したSQLオペレーション定義ファイルをDBアダプタに設定します。
    7. DBアダプタを再配備します。
SQL識別子(要素名:任意((1〜256文字)))
実行するSQLを識別するための要素です。この要素を省略した場合,SQL文を実行しません。下位の引数要素でSQL実行文を指定します。属性としてout_maxOccursを指定できます。また,実行するSQL命令の数にあわせて複数回指定できます。
なお,SQL識別子の名称として「DBadapter」および「DBA_MULTI_SQL」は指定できません。
 
<SQL識別子 out_maxOccurs="検索結果出力最大件数">
    SQL実行文
</SQL識別子>
    :
 
  • out_maxOccurs
    検索結果の最大出力件数を指定します。省略した場合は1000が設定されます。0を指定した場合は,2147483647が設定されます。
SQL実行文
SQL実行文を指定します。SQLの構文は,利用するデータベースの仕様に従います。SQL実行文の表や列の名称およびデータなどの可変部分(引数要素)を指定します。
なお,SQL文の終わりを示すセミコロン(;)は必要ありません。
 
SQL命令 <引数要素名 dba_inf="引数の種別" data_type="データ型"/>
 
なお,SQL実行文の先頭は,「SELECT△」または次のどれかを指定します(△は半角スペース)。
  • 「INSERT△」
  • 「UPDATE△」
  • 「DELETE△」
ただし,「SELECT△」,または「INSERT△」,「UPDATE△」,「DELETE△」のどれかの直後に引数要素がある場合,「△」(半角スペース)は省略できます。
指定内容を次に示します。
SQL命令
指定できるSQL命令はSELECT,またはINSERT,UPDATE,DELETEです。
SELECTで検索できるデータ型について,次の表に示します。

表3-3 SELECTで検索できるデータ型(HiRDBの場合)

HiRDBのデータ型 検索の可否
HiRDB Type4 JDBC Driverの場合
INT〔EGER〕
SMALLINT
〔LARGE〕 DEC〔IMAL〕
NUMERIC
FLOAT
DOUBLE PRECISION
SMALLFLT
REAL
CHAR〔ACTER〕
VARCHAR
CHAR〔ACTER〕VARYING
NCHAR
NATIONAL CHAR
NVARCHAR
NATIONAL CHAR〔ACTER〕VARYING
NCHAR VARYING
MCHAR
MVARCHAR
DATE
TIME
TIMESTAMP
INTERVAL YEAR TO DAY
INTERVAL HOUR TO SECOND
BLOB
BINARY LARGE OBJECT
BINARY
BOOLEAN

(凡例)
○:SELECTで検索できます。
−:SELECTで検索できません。

〔 〕で囲まれた部分は省略できることを意味します。
 

表3-4 SELECTで検索できるデータ型(Oracleの場合)

Oracleのデータ型 検索の可否
Oracle JDBC Thin Driverの場合
VARCHAR2
NVARCHAR2
NUMBER
LONG
DATE
BINARY_FLOAT
BINARY_DOUBLE
TIMESTAMP
TIMESTAMP WITH TIME ZONE
TIMESTAMP WITH LOCAL TIME ZONE
INTERVAL YEAR TO MONTH
INTERVAL DAY TO SECOND
RAW
LONG RAW
ROWID
UROWID
CHAR
NCHAR
CLOB
NCLOB
BLOB
BFILE
ユーザ定義型(オブジェクト型)
ユーザ定義型(REFデータ型)
ユーザ定義型(VARRAY)
ユーザ定義型(ネストした表)

(凡例)
○:SELECTで検索できます。
−:SELECTで検索できません。

注※
サポート対象バージョンのOracle JDBC Thin Driverを利用する場合,論理J2EEサーバの定義でJVMの起動パラメタとして次の値を設定する必要があります。
-Doracle.jdbc.mapDateToTimestamp=false
起動パラメタの設定の詳細については,マニュアル「アプリケーションサーバ 運用管理ポータル操作ガイド」の「10.9.20 起動パラメタの設定(J2EEサーバ)」を参照してください。
 

●ポイント
DBアダプタで検索できないデータ型でも,データベースが提供する関数(ファンクション)を使用して検索できるデータ型に変換できれば,検索できるようになります。
OracleのTIMESTAMP型(列名:c_ts)をTO_CHARファンクションでVARCHAR2型に変換して検索する場合の例を次に示します。
 
SELECT TO_CHAR(c_ts) FROM 表名
 
引数要素名
任意の引数要素の名称を指定します。複数の引数要素を同一名称で指定した場合,同じ引数として扱われます。同一名称の引数要素で,それぞれの属性dba_infおよびdata_typeに異なる値を設定した場合はエラーになります。
dba_inf="引数の種別"
引数の種別を指定します。
引数の種別の種類として指定できる内容を次に示します。
  • table
    引数がデータベースに実在するテーブルの名称の場合に指定します。引数として利用するデータはstring型です。
  • column
    引数がデータベースに実在する列の名称の場合に指定します。引数として利用するデータはstring型です。
  • data
    引数がテーブルおよび列の名称以外のデータの場合に指定します。この値を指定した場合,引数として利用するデータのデータ型を属性data_typeに指定する必要があります。また,引数として利用するデータを表3-3および表3-4に示すJavaのデータ型またはクラスに変換して,SQL文に埋め込みます。引数として利用するデータを変換できない場合は,エラーとなります。
    なお,この値を指定した場合,引数要素をINパラメタ(?パラメタまたはバインド変数)として扱います。SQL文中にINパラメタを指定できる個所は,利用するデータベースの仕様に従います。指定できない個所にINパラメタを定義した場合,エラーになります。なお,SQLの実行時に,引数要素は「?」に置き換えられて実行されます。
  • preset
    引数がテーブルおよび列の名称以外のデータの場合に指定します。この値を指定した場合,引数として利用するデータをそのままSQL文に埋め込みます。引数として利用するデータはstring型です。
data_type="データ型"
属性dba_infにdataを指定した場合に,引数として利用するデータの型を指定します。データベースのデータ型とdata_typeに指定できるデータの型の対応を次の表に示します。

表3-5 data_typeに指定できるデータ型(HiRDBの場合)

HiRDBのデータ型 data_typeに指定できるデータ型 引数として利用するデータの変換先のデータ型およびクラス
INT〔EGER〕 INTEGER int
SMALLINT SMALLINT short
〔LARGE〕 DEC〔IMAL〕
NUMERIC
DECIMAL java.math.BigDecimal
FLOAT
DOUBLE PRECISION
FLOAT double
SMALLFLT
REAL
REAL float
CHAR〔ACTER〕 CHAR java.lang.String
NCHAR
NATIONAL CHAR
MCHAR
VARCHAR
CHAR〔ACTER〕VARYING
VARCHAR java.lang.String
NVARCHAR
NATIONAL CHAR〔ACTER〕VARYING
NCHAR VARYING
MVARCHAR
DATE DATE java.sql.Date
TIME TIME java.sql.Time
TIMESTAMP TIMESTAMP java.sql.Timestamp
BLOB
BINARY LARGE OBJECT
LONGVARBINARY byte[]
BINARY LONGVARBINARY byte[]

〔 〕で囲まれた部分は省略できることを意味します。

 

表3-6 data_typeに指定できるデータ型(Oracleの場合)

Oracleのデータ型 data_typeに指定できるデータ型 引数として利用するデータの変換先のデータ型およびクラス
LONG LONGVARCHAR java.io.Reader
NUMBER NUMERIC java.math.BigDecimal
VARCHAR2 VARCHAR java.lang.String
NVARCHAR2
ROWID CHAR
CHAR CHAR
NCHAR
CLOB CLOB※1
  • Oracle JDBC Thin Driverの場合
    java.io.Reader
NCLOB
DATE DATE※2 java.sql.Date
TIME※3 java.sql.Time
TIMESTAMP※4 java.sql.Timestamp
RAW VARBINARY byte[]
LONG RAW LONGVARBINARY byte[]
BLOB BLOB byte[]

(凡例)
−:指定できません。

注※1
JDBCドライバのバージョンが10.2の場合にだけ指定できます。10.2以外のバージョンのJDBCドライバを使用した場合,データが破損するおそれがあります。

注※2
設定する値の形式が「yyyy-mm-dd」の場合に指定します。

注※3
設定する値の形式が「hh:mm:ss」の場合に指定します。

注※4
設定する値の形式が「yyyy-mm-dd hh:mm:ss」の場合に指定します。
 

複数SQL文実行情報(要素名:MULTI_SQL_DATA)
サービスリクエスタからの1回のサービス部品実行要求で複数のSQL文を実行する場合に,実行するSQL文の最大個数を,下位の要素(MAX_SQL_NO)で指定します。単一のSQL文を実行する場合には,この要素は省略できます。
 
<MULTI_SQL_DATA>
    実行するSQL文の最大個数
</MULTI_SQL_DATA>
 

実行するSQL文の最大個数(要素名:MAX_SQL_NO)
実行するSQL文の最大個数(サービスリクエスタからの要求電文のDBA_MULTI_SQL要素の最大出現回数)を,1〜2,147,483,647の範囲内で指定します。省略した場合の値は「1024」になります。
 
<MAX_SQL_NO>1回のサービス部品実行要求で実行するSQL文の最大個数</MAX_SQL_NO>
 

作成例
SQLオペレーション定義ファイルの作成例を次に示します。

作成例の条件
データベース参照名:DB_SERVER1
スキーマ名:DBA
テーブル名:受注表
テーブル構成:
受注番号
(INTEGER)
得意先コード(CHAR) 商品コード
(CHAR)
受注個数
(INTEGER)
1 AA001 0001 5
2 AB002 0001 1
3 AA001 0102 3
4 XA005 0103 1
5 AA001 0105 1
実行するSQLの形式:
 
OPERATION1:SELECT * FROM DBA.受注表 WHERE <val1> <val2> <val3>
OPERATION2:SELECT <val1> SUM(<val2>) FROM DBA.受注表 GROUP BY <val3>
OPERATION3:INSERT INTO DBA.受注表 VALUES(<val1>,<val2>,<val3>,<val4>)
 

SQLオペレーション定義ファイルの作成例(単一のSQL文を実行する場合)
 
<?xml version="1.0" encoding="UTF-8" ?>
<DBadapter_SQL_OPERATION>
  <DATABASE_DATA>
    <DB_NAME>DB_SERVER1</DB_NAME>
    <DB_TYPE>HIRDB</DB_TYPE>
  </DATABASE_DATA>
  <SQL_DATA>
    <OPERATION1>
      SELECT * FROM DBA.受注表 WHERE <val1 dba_inf="column"/> 
        <val2 dba_inf="preset"/> 
        <val3 dba_inf="data" data_type="CHAR"/>
    </OPERATION1>
    <OPERATION2>
      SELECT <val1 dba_inf="column"/> SUM(<val2 dba_inf="column"/>) 
        FROM DBA.受注表 GROUP BY <val3 dba_inf="column"/>
    </OPERATION2>
    <OPERATION3>
      INSERT INTO DBA.受注表 
        VALUES(<val1 dba_inf="data" data_type="INTEGER" />,
        <val2 dba_inf="data" data_type="CHAR"/>,
        <val3 dba_inf="data" data_type="CHAR"/>,
        <val4 dba_inf="data" data_type="INTEGER"/>)
    </OPERATION3>
  </SQL_DATA>
</DBadapter_SQL_OPERATION>
 
 

SQLオペレーション定義ファイルの作成例(複数のSQL文を実行する場合)
次の例では,1回のサービス部品実行要求で実行するSQL文の最大個数を「10」にしています。
 
<?xml version="1.0" encoding="UTF-8" ?>
<DBadapter_SQL_OPERATION>
  <DATABASE_DATA>
    <DB_NAME>DB_SERVER1</DB_NAME>
    <DB_TYPE>HIRDB</DB_TYPE>
  </DATABASE_DATA>
  <SQL_DATA>
    <OPERATION1>
      SELECT * FROM DBA.受注表 WHERE <val1 dba_inf="column"/> 
        <val2 dba_inf="preset"/> 
        <val3 dba_inf="data" data_type="CHAR"/>
    </OPERATION1>
    <OPERATION2>
      SELECT <val1 dba_inf="column"/> SUM(<val2 dba_inf="column"/>) 
        FROM DBA.受注表 GROUP BY <val3 dba_inf="column"/>
    </OPERATION2>
    <OPERATION3>
      INSERT INTO DBA.受注表 
        VALUES(<val1 dba_inf="data" data_type="INTEGER" />,
        <val2 dba_inf="data" data_type="CHAR"/>,
        <val3 dba_inf="data" data_type="CHAR"/>,
        <val4 dba_inf="data" data_type="INTEGER"/>)
    </OPERATION3>
  </SQL_DATA>
  <MULTI_SQL_DATA>
    <MAX_SQL_NO>10</MAX_SQL_NO>
  </MULTI_SQL_DATA>
</DBadapter_SQL_OPERATION>
 

(2) 電文フォーマットの作成

DBアダプタの場合,WSDLが生成されないため,サービス部品の電文フォーマットも自動生成されません。そのため,サービス部品の電文フォーマット(DBアダプタ用のXMLフォーマット定義ファイル)を作成して,設定する必要があります。

(a) DBアダプタ用のXMLフォーマット定義ファイルの作成

DBアダプタ用のXMLフォーマット定義ファイルを作成するには,「(1) SQLオペレーション定義ファイルの作成」で作成したSQLオペレーション定義ファイルの名称を-oオプションに指定してcsamkxmlsコマンドを実行します。

●コマンドの実行例
csamkxmlsコマンドの実行形式を次に示します。
 
<サービスプラットフォームのインストールディレクトリ>\CSC\bin\csamkxmls -o <SQLオペレーション定義ファイルの名称> -x <DBアダプタ用のXMLフォーマット定義ファイルの名称>
 
csamkxmlsコマンドの詳細については,マニュアル「サービスプラットフォーム リファレンス」の「csamkxmls(DBアダプタ用のXMLフォーマット定義ファイルの生成)」を参照してください。

 

注意
csamkxmlsコマンドを実行したとき,SQLオペレーション定義ファイルのファイルサイズが大きいと,「java.lang.OutOfMemoryError」のメッセージが表示されることがあります。
このエラーが表示された場合,環境変数HCSCDBA_XMXに,現在のJavaVMのメモリ割り当てサイズよりも大きい値を設定して,再度コマンドを実行してください。
環境変数HCSCDBA_XMXには,JavaVMのヒープサイズ(-Xmx)に設定される値(単位:Mbyte)を指定します。省略した場合,JavaVMのヒープサイズはJavaコマンドを実行する環境に依存します。

設定例
set HCSCDBA_XMX=64
注意
DBアダプタ用のXMLフォーマット定義ファイルは,SQLオペレーション定義ファイルで指定したSQL識別子の数だけフォーマットを含みます。単一のSQL文を実行する場合,データ変換を定義するときには,SQL識別子ごとにオペレーションを変更(サービスアダプタ定義画面でオペレーションを追加)して定義する必要があります。複数のSQL文を実行する場合,データ変換を定義するときには,SQL識別子ごとにオペレーションを変更して定義する必要はありません。
データ変換の定義については,マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「6. データ変換の定義」を参照してください。サービスアダプタ定義画面については,マニュアル「サービスプラットフォーム リファレンス」の「1.2.2 サービスアダプタ定義画面」を参照してください。
(b) DBアダプタ用のXMLフォーマット定義ファイルの作成例

DBアダプタ用のXMLフォーマット定義ファイルの作成例を次に示します。

図3-3 (例1)SELECT文を使用し,WHERE句の値を引数化したい場合

[図データ]

図3-4 (例2)SELECT文を使用し,取得する列名も引数化したい場合

[図データ]

図3-5 (例3)SELECT文を使用し,WHERE句の列名や式も引数化したい場合

[図データ]

(3) サービスアダプタ定義画面での操作

DBアダプタを定義する場合の手順を次に示します。

  1. サービスアダプタ定義画面を表示します。
    サービスアダプタ定義画面の表示方法については,「3.3.1(4) サービスアダプタ定義画面の表示」を参照してください。
  2. サービス部品制御情報の[サービス名]および[サービスID]を必要に応じて編集します。
    サービス名は,DBアダプタを追加したときに入力した名称から異なる名称に変更したい場合に入力してください。
    サービスIDは,運用管理者がHCSCサーバの操作(オペレーション)を行うときに必要になる識別情報です。サービス名との関連がわかるような形で命名することを推奨します。
  3. サービス部品制御情報の[追加]ボタンをクリックして,オペレーションを追加します。
    オペレーション名は,サービスリクエスタからHCSCサーバを呼ぶときに必要になる識別情報です。
  4. サービス部品制御情報の[システム例外をフォルトに変換する]チェックボックスを必要に応じてチェックします。
  5. オペレーション情報の[通信モデル]のドロップダウンリストから,「同期」または「非同期」を選択します。
    応答が必要な場合は「同期」を選択してください。
  6. 要求電文について,手順7.から手順18.までを実施します。
  7. 次に示す操作をします。
    標準電文のフォーマットを指定する場合
    手順8.〜11.を実施して,手順12.に進みます。
    標準電文のフォーマットを指定しない場合
    手順12.に進みます。
  8. 標準電文の[使う]チェックボックスをチェックします。
  9. 標準電文の[フォーマットID]を指定します。
    [フォーマットID]に任意の値を指定します。
  10. 標準電文の[参照]ボタンをクリックして,[電文フォーマット]に標準電文のフォーマットを指定します。
    指定できる電文フォーマットの形式については,マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「2.6.5 XMLスキーマの適用範囲」を参照してください。なお,外部のXMLスキーマを参照している電文フォーマットは指定できません。
  11. 標準電文の[表示]ボタンをクリックします。
    標準電文のフォーマットが表示されます。必要に応じて指定した標準電文のフォーマットを確認してください。
  12. サービス部品電文の[フォーマットID]を指定します。
    [フォーマットID]に任意の値を指定します。
  13. サービス部品電文の[参照]ボタンをクリックして,[電文フォーマット]にサービス部品電文のフォーマットを指定します。
    ここには,作成したDBアダプタ用のXMLフォーマット定義ファイルを指定します。
    [電文フォーマット]に指定できる電文種別は,XML電文だけです。
  14. サービス部品電文の[表示]ボタンをクリックします。
    サービス部品電文のフォーマットが表示されます。必要に応じて指定したサービス部品電文のフォーマットを確認してください。
  15. 必要に応じて,データ変換定義を行います。
    次に示す操作をします。
    標準電文の[使う]チェックボックスをチェックした場合
    手順16.〜18.を実施して,手順19.に進みます。
    標準電文の[使う]チェックボックスをチェックしない場合
    手順19.に進みます。
  16. データ変換定義のファイル名を入力します。
  17. [編集]ボタンをクリックします。
    データ変換定義画面が表示されます。
    なお,初めて定義する場合は,[ルート要素選択]ダイアログが表示されます。
    また,電文フォーマットを変更した場合は,電文フォーマットの変更を反映するかを確認するダイアログが表示されます。電文フォーマットを変更した場合の手順は,マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「6.3.2 電文フォーマットを変更した場合の定義手順」を参照してください。
  18. 標準電文とサービス部品電文の内容をマッピングします。
  19. 手順5.の[通信モデル]で「同期」を選択した場合,応答電文についても同様に,手順7.から手順18.までを実施します。
  20. サービスアダプタ定義(詳細)タブをクリックします。
  21. サービスアダプタ(EJB-JARファイル)および独自定義ファイルの名称を確認します。
    サービスアダプタ(EJB-JARファイル)の名称が「cscdba_ejb.jar」,独自定義ファイルの名称が「cscadapter_property.xml」であることを確認してください。
    ユーティリティクラス(JARファイル)の設定は不要です。
  22. 独自定義ファイルの[追加]ボタンをクリックして,次のファイルを追加します。
    • SQLオペレーション定義ファイル
      [csa_sql_<任意の名称>.xml]

(4) アプリケーション統合属性ファイルの編集

サービスプラットフォームが提供するテンプレートファイルを利用して,アプリケーション統合属性ファイルを編集します。

アプリケーション統合属性ファイルの編集手順を示します。

  1. サービスアダプタ定義画面(詳細)の[独自定義ファイル]で「cscadapter_property.xml」を選択し,[編集]ボタンをクリックします。
    アプリケーション統合属性ファイルを編集するためのエディタが起動します。
  2. エディタ上でアプリケーション統合属性ファイルを編集します。
    アプリケーション統合属性ファイルによるプロパティ設定については,マニュアル「アプリケーションサーバ アプリケーション設定操作ガイド」の「9.2 アプリケーション統合属性ファイルによるプロパティ設定」を参照してください。アプリケーション統合属性ファイルの詳細については,マニュアル「アプリケーションサーバ リファレンス 定義編(アプリケーション/リソース定義)」の「3.1 アプリケーション統合属性ファイル」を参照してください。
    アプリケーション統合属性ファイルに設定する項目について,次の表に示します。

    表3-7 アプリケーション統合属性ファイルの設定項目

    タグ 説明 設定内容 変更
    可否
    設定例
    <hitachi-application-all-property> ルートタグ
     <ejb-jar> EJBに関する情報の定義の開始タグ
      <hitachi-session-bean-property> SessionBeanの属性の定義の開始タグ
       <resource-ref> リソース参照についての定義の開始タグ※1
        <res-ref-name> リソース参照名 SQLオペレーション定義ファイルの<DB_NAME>タグに指定したデータベース参照名 DB_SERVER1
        <res-sharing-scope> 参照したリソースを共有するかどうかの指定 DBアダプタが参照するDB Connectorを共有するかどうかの指定 Shareable
        <linked-to> データソース表示名 DB Connectorのプロパティ定義(display-name)に指定したリソースアダプタの名称 DB_Connector_for_HiRDB_Type4_XAやDB_Connector_for_Oracle_XAなど※2
    display-nameを変更した場合は変更後の名称。
       </resource-ref> リソース参照についての定義の終了タグ
       <container-transaction> コンテナのトランザクションについての定義の開始タグ
        <trans-attribute> メソッドに割り当てるトランザクション属性 トランザクションを引き継ぐRequired Required※3
       </container-transaction> コンテナのトランザクションについての定義の終了タグ
       <session-runtime> runtimeの定義の開始タグ
        <stateless> statelessの定義の開始タグ
         <pooled-instance> プール内のインスタンスについての定義の開始タグ
          <minimum> プール内のインスタンスの最小数 DBアダプタのインスタンスの最小数 0または1≦minimum≦maximum
          <maximum> プール内のインスタンスの最大数 DBアダプタのインスタンスの最大数 0(無制限)または1≦maximum≦maximum-sessions
         </pooled-instance> プール内のインスタンスについての定義の終了タグ
        </stateless> statelessの定義の終了タグ
       </session-runtime> runtimeの定義の終了タグ
      </hitachi-session-bean-property> SessionBeanの属性の定義の終了タグ
     </ejb-jar> EJBに関する情報の定義の終了タグ
    </hitachi-application-all-property> ルートタグ

    (凡例)
    −:変更できません。

    注※1
    SQLオペレーション定義ファイルのdynamic属性にYが設定されている場合は,このタグおよびその子要素の定義を省略してください。

    注※2
    display-nameを変更した場合は,変更後の名称を指定してください。

    注※3
    ビジネスプロセスとは別にDBアダプタのトランザクションを開始する場合は,HCSCサーバランタイム定義ファイルのdba-separate-transactionプロパティにtrue,またはSQLオペレーション定義ファイルの「dba_separate_transaction」属性にYを設定し,かつアプリケーション統合属性ファイルの<trans-attribute>タグにRequiresNewを設定してください。

    注意
    表3-7で示した設定・変更できる項目以外は,設定・変更しないでください。
  3. Eclipseのメニューから[ファイル]−[保管]を選択し,定義内容を保存します。

(5) データ変換

要求電文のデータ変換を行う場合,サービスアダプタ定義画面で標準電文にサービスリクエスタから入力される電文を設定し,データ変換定義画面でデータ変換を定義します。応答電文のデータ変換を行う場合,サービス部品から返される電文に標準電文を設定し,データ変換定義画面でデータ変換を定義します。

(a) データ変換が必要なケース

サービスリクエスタの電文の形式と,DBアダプタ電文の形式が異なる場合,データ変換が必要です。

次のような場合は,標準電文のフォーマットを指定してデータ変換を定義します。

(b) データ変換の定義

データ変換の詳細については,マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「6. データ変換の定義」を参照してください。

(6) EARファイルの入れ替え

DBアダプタの追加時にEARファイルを設定します。DBアダプタを追加したあとにEARファイルを修正する必要がある場合,DBアダプタのサービスアダプタ定義画面で,EARファイルを入れ替えます。

DBアダプタのサービスアダプタ定義画面で,EARファイルを入れ替える手順を次に示します。

  1. ツリービューのサービス定義一覧で,EARファイルを入れ替えるDBアダプタをダブルクリックします。
    サービスアダプタ定義画面が表示されます。
  2. 画面下部の[サービスアダプタ定義(詳細)]タブをクリックします。
    サービスアダプタ定義(詳細)画面が表示されます。
  3. サービスアダプタ定義(詳細)画面で,[参照]ボタンをクリックします。
  4. 入れ替えるEARファイルを指定します。

(7) サービスリクエスタの作成

DBアダプタに要求を出すサービスリクエスタは,要求電文を受け付ける標準受付の種類によって作成方法が異なります。それぞれの標準受付の種類ごとの作成方法を参照して作成してください。参照先を次の表に示します。

表3-8 DBアダプタに要求を出すサービスリクエスタの作成方法

標準受付の種類 参照先
同期受付 Webサービス(SOAP1.1) マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「8.2 標準の同期受付(Webサービス)に要求を出すサービスリクエスタ(SOAP通信基盤)
Webサービス(SOAP1.2) マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「8.3 標準の同期受付(Webサービス)に要求を出すサービスリクエスタ(JAX-WSエンジン)
SessionBean マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「8.4 標準の同期受付(SessionBean)に要求を出すサービスリクエスタ
非同期 MDB(WS-R) マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「8.5 標準の非同期受付(MDB(WS-R))に要求を出すサービスリクエスタ
MDB(DBキュー) マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「8.6 標準の非同期受付(MDB(DBキュー))に要求を出すサービスリクエスタ

以降の項では,DBアダプタ電文の形式について説明します。

DBアダプタ用のサービスリクエスタの電文の形式が,DBアダプタ電文の形式と異なる場合,データ変換が必要です。データ変換の詳細については,マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「6. データ変換の定義」を参照してください。

(a) 要求電文の形式

要求電文は,XML文書形式で作成します。

要素,属性およびテキストデータは,W3CのXMLの仕様に従って指定します。XML文書で使用できない「<」,「>」,「&」などの文字を使用する場合,エスケープするか,CDATAセクションを利用する必要があります。

要求電文の形式は,単一のSQL文の実行を要求する場合と,複数のSQL文の実行を要求する場合とで異なります。

要求電文の形式を次に示します。なお,斜体の文字は可変値を表します。

単一のSQL文の実行を要求する場合
ルート要素(DBadapter要素)の下位要素としてSQL識別子要素を記述します。記述できるSQL識別子要素の数は,1つだけです。
 
<DBadapter>
  <SQL識別子 out_maxOccurs="検索結果出力最大件数">
    <DBA_IN_DATA>
      <引数要素 nulldata="空要素の扱い">引数要素のデータ</引数要素>
        :
    </DBA_IN_DATA>
  </SQL識別子>
</DBadapter>
 

複数のSQL文の実行を要求する場合
ルート要素(DBadapter要素)の下位要素としてDBA_MULTI_SQL要素を記述します。複数のDBA_MULTI_SQL要素を記述できます。記述できる数は,SQLオペレーション定義ファイルのMAX_SQL_NO要素に設定した値以下です。
 
<DBadapter>
  <DBA_MULTI_SQL>
    <SQL識別子 out_maxOccurs="検索結果出力最大件数">
      <DBA_IN_DATA>
        <引数要素 nulldata="空要素の扱い">引数要素のデータ</引数要素>
          :
      </DBA_IN_DATA>
    </SQL識別子>
  </DBA_MULTI_SQL>
    :
</DBadapter>
 
(b) 要求電文の要素と属性

要求電文の要素と属性について次の表に示します。なお,要素および属性の指定は,SQLオペレーション定義ファイルの設定値に依存します。SQLオペレーション定義ファイルについては「(1) SQLオペレーション定義ファイルの作成」を参照してください。

表3-9 要求電文の要素と属性

要素名・属性名 種別 内容と設定値 設定値の型 省略可否
DBadapter 要素 ルート要素です。次の下位要素があります。

単一SQL文の実行要求の場合
下位要素はSQL識別子要素です。

複数SQL文の実行要求の場合
下位要素はDBA_MULTI_SQL要素です。
×
DBA_MULTI_SQL 要素 サービスリクエスタからの要求が,複数のSQL文を実行する要求であることを示す要素です。SQL識別子以降の下位要素で入力情報を設定します。
SQLオペレーション定義ファイルのMAX_SQL_NO要素に設定した値以内で複数記述できます。

単一のSQL文の実行を要求する場合,この要素は記述できません。
SQL識別子 要素 SQL識別子にはSQLオペレーション定義ファイルで指定したSQL識別子の名称を指定します。
DBA_IN_DATA以降の下位要素で,入力情報を設定します。
属性にout_maxOccursがあります。
 out_maxOccurs 属性 検索結果出力最大件数を指定します。0以上の値を指定します。

省略した場合
SQLオペレーション定義ファイルで指定したout_maxOccursの値が設定されます。

「0」を設定した場合
最大件数が2,147,483,647件に設定されます。
xsd:int
DBA_IN_DATA 要素 引数要素以降の下位要素で,SQLオペレーション定義ファイルで設定した引数要素のデータを設定します。 ×
引数要素 要素 引数要素にはSQLオペレーション定義ファイルで指定した引数要素の名称を指定します。
この要素には,SQLオペレーション定義ファイルで指定した引数要素のデータが格納されます。
属性にnulldataがあります。

SQLオペレーション定義ファイルの設定で,該当するSQL識別子に引数要素がない場合,この要素は設定できません。
xsd:stringまたはdata_typeの設定値 ×
 nulldata 属性 SQLオペレーション定義ファイルで指定したdba_inf(引数の種別)が「data」の場合に,空要素のデータを「null」として扱うかどうかを指定します(dba_infが「data」以外の場合は,指定できません)。

「null」として扱う場合
「"Y"」を指定します。

「null」として扱わない場合
「"N"」を指定します。
なお,省略した場合,この属性には「"N"」が設定されます。
xsd:string
{Y|N}

(凡例)
−:設定値はありません。
○:省略できます。
×:省略できません。

注※
格納する引数要素の型は,SQLオペレーション定義ファイルで,該当する引数要素に指定したdba_inf(引数の種別)によって異なります。dba_infがtable,columnまたはpresetの場合,xsd:string型になります。dba_infがdataの場合,data_type(データ型)の設定値に従ってください。data_typeの設定値と引数要素の型の対応については,「表3-10」および「表3-11」を参照してください。
また,dba_infがdataの場合,引数要素に格納するデータをシングルクォーテーション(')で囲む必要はありません。

表3-10 data_typeの設定値と引数要素の型の対応(HiRDBの場合)

data_typeの設定値 引数要素の型
INTEGER xsd:int
SMALLINT xsd:short
DECIMAL xsd:string
FLOAT xsd:double
REAL xsd:float
CHAR xsd:string
VARCHAR xsd:string
DATE xsd:date
TIME xsd:string
TIMESTAMP xsd:string
LONGVARBINARY xsd:hexBinary
xsd:base64Binary

注※
記述した型に加え,空要素の設定も許可されます。
 

表3-11 data_typeの設定値と引数要素の型の対応(Oracleの場合)

data_typeの設定値 引数要素の型
NUMERIC xsd:string
CHAR xsd:string
VARCHAR xsd:string
DATE xsd:date
TIME xsd:string
TIMESTAMP xsd:string
LONGVARCHAR xsd:string
CLOB xsd:string
VARBINARY xsd:hexBinary
xsd:base64Binary
LONGVARBINARY xsd:hexBinary
xsd:base64Binary
BLOB xsd:hexBinary
xsd:base64Binary

注※
記述した型に加え,空要素の設定も許可されます。
 

なお,DBアダプタに送信する要求電文で設定する引数要素の値は,次の表のとおりに扱います。

表3-12 DBアダプタに送信する要求電文での引数要素の扱い

要求電文の引数要素の値 SQLオペレーション定義ファイルの設定値 要求電文のnulldataの属性値 引数要素の扱い
dba_infの属性値 data_typeの属性値
空要素 data "Y"または"△Y△" null
"Y"または"△Y△"以外(省略時も含む) 空文字列("")
data以外 空文字列("")
空要素以外 data CHAR,VARCHAR,LONGVARCHAR,CLOB 値の前後の空白文字は削除しません。<引数要素>△ABC△</引数要素>は,空白文字を削除しないで"△ABC△"として扱います。
CHAR,VARCHAR,LONGVARCHAR,CLOB以外 値の前後の空白文字を削除します。<引数要素>△123△</引数要素>は,空白文字を削除して"123"として扱います。
data以外 値の前後の空白文字は削除しません。<引数要素>△ABC△</引数要素>は,空白文字を削除しないで"△ABC△"として扱います。

(凡例)
−:判定の材料ではありません。
△:1つ以上の空白文字(半角空白文字,改行文字,タブ文字)です。

注※
nulldataの属性値の前後の空白文字は無視します。

(c) 応答電文の形式

応答電文は,XML文書形式で出力されます。

なお,検索結果(列名など)にXML文書で使用できない「<」や「&」などの文字が含まれていた場合,「&lt;」や「&amp;」などにエスケープして応答電文に設定されます。そのため,データベースに格納されているデータをエスケープする必要はありません。

応答電文の形式は,単一のSQL文の実行要求に対する応答の場合と,複数のSQL文の実行要求に対する応答の場合とで異なります。

応答電文の形式を次に示します。なお,斜体の文字は可変値を表します。

単一のSQL文の実行要求に対する応答の場合
ルート要素(DBadapter要素)の下位要素としてSQL識別子要素が出力されます。
 
<DBadapter>
  <SQL識別子 out_maxOccurs="検索結果出力最大件数">
    <DBA_IN_DATA>
      <引数要素 nulldata="空要素の扱い">引数要素のデータ</引数要素>
        :
    </DBA_IN_DATA>
    <DBA_OUT_DATA>
      <DBA_ResultSetNo>SQLリターン値</DBA_ResultSetNo>
      <DBA_ResultSetXmlNo>検索結果の件数</DBA_ResultSetXmlNo>
      <DBA_ResultSetName>
        <DBA_ResultColumnName cid="列番号">列の名称</DBA_ResultColumnName>
          :
      </DBA_ResultSetName>
      <DBA_ResultSet lid="行番号">
        <DBA_ResultColumn cid="列番号">該当行n列目の検索結果</DBA_ResultColumn>
          :
      </DBA_ResultSet>
        :
    </DBA_OUT_DATA>
  </SQL識別子>
</DBadapter>
 

複数のSQL文の実行要求に対する応答の場合
ルート要素(DBadapter要素)の下位要素としてDBA_MULTI_SQL要素が出力されます。要求電文で記述したDBA_MULTI_SQL要素と同数のDBA_MULTI_SQL要素が出力されます。
 
<DBadapter>
  <DBA_MULTI_SQL>
    <SQL識別子 out_maxOccurs="検索結果出力最大件数">
      <DBA_IN_DATA>
        <引数要素 nulldata="空要素の扱い">引数要素のデータ</引数要素>
          :
      </DBA_IN_DATA>
      <DBA_OUT_DATA>
        <DBA_ResultSetNo>SQLリターン値</DBA_ResultSetNo>
        <DBA_ResultSetXmlNo>検索結果の件数</DBA_ResultSetXmlNo>
        <DBA_ResultSetName>
          <DBA_ResultColumnName cid="列番号">列の名称</DBA_ResultColumnName>
            :
        </DBA_ResultSetName>
        <DBA_ResultSet lid="行番号">
          <DBA_ResultColumn cid="列番号">該当行n列目の検索結果</DBA_ResultColumn>
            :
        </DBA_ResultSet>
          :
      </DBA_OUT_DATA>
    </SQL識別子>
  </DBA_MULTI_SQL>
    :
</DBadapter>
 

なお,要求電文で入力情報が0(ゼロ)の場合,応答電文は次の形式で出力されます。

[図データ]

(d) 応答電文の要素と属性

応答電文の要素と属性について次の表に示します。

表3-13 応答電文の要素と属性(DBアダプタ用のサービスリクエスタ)

要素名・属性名 種別 内容と設定値 格納される値の型 省略
DBadapter 要素 ルート要素です。次の下位要素があります。

単一SQL文の実行要求に対する応答の場合
下位要素としてSQL識別子要素が出力されます。

複数SQL文の実行要求に対する応答の場合
下位要素としてDBA_MULTI_SQL要素が出力されます。
×
DBA_MULTI_SQL 要素 サービスリクエスタからの複数のSQL文の実行要求に対する応答であることを示す要素です。SQL識別子以降の下位要素に入力情報(要求電文での設定情報)および出力情報(SQLの実行結果情報)が出力されます。
要求電文で記述したDBA_MULTI_SQL要素と同数のDBA_MULTI_SQL要素が出力されます。
×※1
SQL識別子 要素 下位の要素「DBA_IN_DATA」および「DBA_OUT_DATA」に,それぞれ入力情報(要求電文での設定情報)および出力情報(SQLの実行結果情報)が格納されます。
SQL識別子は,要求電文に設定したSQL識別子です。
なお,属性out_maxOccurs(検索結果出力最大件数)は,要求電文で設定した場合にだけ格納されます。
×
DBA_IN_DATA 要素 要求電文で設定した入力情報がこの要素の下位要素に格納されます。 ×
DBA_OUT_DATA 要素 下位の要素にSQL実行時の出力情報が格納されます。実行したSQLによって,格納される出力情報が異なります。

INSERT,UPDATE,DELETEの場合
DBA_ResultSetNoが下位要素として格納されます。

SELECTの場合
次の要素が下位要素として格納されます。
  • DBA_ResultSetNo
  • DBA_ResultSetXmlNo
  • DBA_ResultSetName
  • DBA_ResultSet
×
DBA_ResultSetNo 要素 実行したSQLによって,格納される出力情報が異なります。

INSERT,UPDATE,DELETEの場合
更新した行数(PreparedStatementクラスのexecuteUpdateで取得した値)が格納されます。格納される要素の値が2,147,483,647を超えた場合に格納される値は,DB Connectorの使用するJDBCドライバのPreparedStatementクラスのexecuteUpdateの仕様に従います。

SELECTの場合
検索結果の件数が格納されます。
格納される要素の値が2,147,483,647を超えた場合,2,147,483,647が格納されます。
xsd:int ×
DBA_ResultSetXmlNo 要素 実行したSQLがSELECTの場合,実際の検索結果の件数(DBA_ResultSetNoの値)のうち,この応答電文に格納されている検索結果の件数が格納されます。
DBA_ResultSetNoの値が,要求電文またはSQLオペレーション定義ファイルのout_maxOccursに指定した値よりも大きい場合,out_maxOccursに指定した値が格納されます。
また,格納される要素の値が2,147,483,647を超えた場合,2,147,483,647が格納されます。
xsd:int
DBA_ResultSetName 要素 実行したSQLがSELECTの場合,検索結果の列の名称が,下位要素DBA_ResultColumnNameに格納されます。
なお,検索結果が0件の場合,この要素は格納されません。
DBA_ResultColumnName 要素 実行したSQLがSELECTの場合,該当する列の名称が格納されます。
なお,結果の列がデータベースの列の場合,「列名」の形式で設定されます。また,結果の列名が取得されない場合,SQLを発行した先のデータベースの仕様に従った名称が返されます。
属性にcidがあります。
xsd:string
 cid 属性 DBA_ResultColumnNameに格納される値の列番号を示します。 xsd:int
DBA_ResultSet 要素 実行したSQLがSELECTの場合,一行ごとの結果情報が,下位要素のDBA_ResultColumnに格納されます。なお,検索結果が0件の場合,この要素は格納されません。
属性にlidがあります。
 lid 属性 DBA_ResultSetに格納される値の行番号を示します。
また,格納される要素の値が2,147,483,647を超えた場合,2,147,483,647が格納されます。
xsd:int
DBA_ResultColumn 要素 該当する行(DBA_ResultSetで示される行)のn列目の検索結果が格納されます。※2
属性にcidおよびnulldataがあります。
xsd:string
 cid 属性 DBA_ResultColumnに格納される値の列番号を示します。 xsd:int
 nulldata 属性 DBA_ResultColumnに格納されたデータがnullであるかどうかを示します。
nullの場合「Y」が設定されます。nullでない場合,この属性は設定されません。
xsd:string

(凡例)
−:値は格納されません。
○:SQLがSELECTの場合にだけ出力されます。
△:SQLがSELECTの場合で,実行結果が1件以上のときに出力されます。
×:必ず出力されます。省略されません。

注※1
複数のSQL文の実行要求に対する応答の場合には必ず出力されます。単一のSQL文の実行要求に対する応答の場合には出力されません。

注※2
ResultSetクラスのgetStringで取得した値が格納されます。そのため,検索結果の書式はDB Connectorの使用するJDBCドライバのResultSetクラスのgetStringの仕様に従います。検索結果の書式を変更する場合,データベースが提供する関数(ファンクション)を使用して検索してください。
HiRDBのTIMESTAMP型(列名:c_ts)の書式をVARCHAR_FORMAT関数で変更する場合の例を次に示します。

 
SELECT VARCHAR_FORMAT(c_ts, 'YYYY-MONTH-DD HH:MI') FROM 表名