Cosminexus V9 BPM/ESB基盤 サービスプラットフォーム 解説
DBアダプタは,サービスリクエスタやビジネスプロセスからの要求を受けて,データベースに対して直接アクセスできます。データベースに対するアクセスは,DBアダプタ内で定義されているSQLに従います。
DBアダプタは,開発環境で定義します。DBアダプタに対して要求するサービスリクエスタからは,実行するSQL文を記述したXML文書を作成して,作成したXML電文を要求電文に設定して実行します。DBアダプタによるSQLの実行について次の図に示します。
図2-46 DBアダプタによるSQLの実行
DBアダプタを定義する手順,およびDBアダプタに要求を出すサービスリクエスタの作成については,マニュアル「サービスプラットフォーム 開発ガイド 受付・アダプタ定義編」の「3.3.5 DBアダプタを定義する」を参照してください。
DBアダプタ内部で,バイナリデータはbyte配列型,base64Binary型およびhexBinary型はString型として扱います。SELECT文実行時とINSERT文実行時にBLOB型を操作する場合の例を次に説明します。
BLOB列に対してSELECT文を実行すると,DBアダプタではbyte配列からXML Schemaのbase64Binary型またはhexBinary型に変換(エンコード)して,要求元にBLOB列の値を返却します。
図2-47 SELECT文実行時の処理(base64Binary型に変換する場合)
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アダプタの呼び出し元にはフォルト電文が送出され,無効にしている場合はシステム例外が送出されます。
DBアダプタでは定義されたSQLを実行することでデータベースが更新されます。
そのため,HCSCサーバのDBアダプタと他システムで同一のデータベースを利用する場合,トランザクションの終了タイミングやデータの整合性を考慮してデータベースにアクセスする必要があります。
DBアダプタ経由でデータのINSERT文,UPDATE文およびDELETE文を実行する場合は,他システムに影響を与えないことを確認して利用してください。
All Rights Reserved. Copyright (C) 2012, 2019, Hitachi, Ltd.