Cosminexus V9 BPM/ESB基盤 サービスプラットフォーム 解説

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

2.6.1 DBアダプタを使ったデータベースへのアクセス

DBアダプタは,サービスリクエスタやビジネスプロセスからの要求を受けて,データベースに対して直接アクセスできます。データベースに対するアクセスは,DBアダプタ内で定義されているSQLに従います。

<この項の構成>
(1) DBアダプタによるSQLの実行
(2) バイナリデータ操作時の処理
(3) SQL命令のINSERT文,UPDATE文およびDELETE文を使用する場合の注意事項

(1) DBアダプタによるSQLの実行

DBアダプタは,開発環境で定義します。DBアダプタに対して要求するサービスリクエスタからは,実行するSQL文を記述したXML文書を作成して,作成したXML電文を要求電文に設定して実行します。DBアダプタによるSQLの実行について次の図に示します。

図2-46 DBアダプタによるSQLの実行

[図データ]

DBアダプタを定義する手順,およびDBアダプタに要求を出すサービスリクエスタの作成については,マニュアル「サービスプラットフォーム 開発ガイド 受付・アダプタ定義編」の「3.3.5 DBアダプタを定義する」を参照してください。

(2) バイナリデータ操作時の処理

DBアダプタ内部で,バイナリデータはbyte配列型,base64Binary型およびhexBinary型はString型として扱います。SELECT文実行時とINSERT文実行時にBLOB型を操作する場合の例を次に説明します。

(a) SELECT文実行時の処理

BLOB列に対してSELECT文を実行すると,DBアダプタではbyte配列からXML Schemaのbase64Binary型またはhexBinary型に変換(エンコード)して,要求元にBLOB列の値を返却します。

図2-47 SELECT文実行時の処理(base64Binary型に変換する場合)

[図データ]

(b) INSERT文,UPDATE文実行時の処理

BLOB列に対してINSERT文,またはUPDATE文を実行する際は,要求元がXML Schemaのbase64Binary型またはhexBinary型のデータをDBアダプタに渡します。DBアダプタではbase64Binary型またはhexBinary型からbyte配列に変換(デコード)して,SQLを実行します。

図2-48 INSERT文,またはUPDATE文実行時の処理(base64Binary型から変換する場合)

[図データ]

xsd:hexBinary型またはxsd:base64Binary型のデータの変換(デコード)でエラーが発生した場合,KDEC63001-E(xsd:hexBinary型の場合は原因コード=22,xsd:base64Binary型の場合は原因コード=23)を出力します。また,DBアダプタの定義時に,「システム例外をフォルトに変換する」を有効にしている場合はDBアダプタの呼び出し元にはフォルト電文が送出され,無効にしている場合はシステム例外が送出されます。

(3) SQL命令のINSERT文,UPDATE文およびDELETE文を使用する場合の注意事項

DBアダプタでは定義されたSQLを実行することでデータベースが更新されます。

そのため,HCSCサーバのDBアダプタと他システムで同一のデータベースを利用する場合,トランザクションの終了タイミングやデータの整合性を考慮してデータベースにアクセスする必要があります。

DBアダプタ経由でデータのINSERT文,UPDATE文およびDELETE文を実行する場合は,他システムに影響を与えないことを確認して利用してください。