ページの先頭行へ戻る
Interstage Service Integrator V9.5.0 アプリケーション開発ガイド
FUJITSU Software

C.1.10 データベース連携の定義

データベース連携を行うための定義を作成します。

指定例

サービスエンドポイント定義

サービスエンドポイント定義:endpoint.xml
<?xml version="1.0" encoding="UTF-8" ?>
<EndpointList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="esi-endpoint.xsd">
    <Endpoint name="endpoint01" sync="true">
        <ServiceName>service01</ServiceName>
    </Endpoint>
</EndpointList>
表C.43 定義項目

キー名

説明

指定例

Endpoint

name

サービスエンドポイント名を指定します。

endpoint01

sync

サービスエンドポイントの同期タイプを指定します。

  • true:同期送信

  • false:非同期送信

true

ServiceName

サービス名を指定します。サービス情報に指定したサービス名を指定してください。

service01

サービス情報

サービス情報:service01.xml
<?xml version="1.0" encoding="UTF-8" ?>
<Service name="service01" type="DB" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="esi-service.xsd">
    <Description>zaiko_insert</Description>
    <PropertyList>
        <Property name="JCA.Version" secret="false">1</Property>
        <Property name="JCA.JNDI.name" secret="false">java:comp/env/eis/esidbadapter</Property>
        <Property name="JCA.ConnectionSpec.ImplClass.name" secret="false">com.fujitsu.esi.adapter.db.outbound.cci.ESIDBAdapterConnectionSpec</Property>
        <Property name="JCA.ConnectionSpec.Param1.name" secret="false">setDataSource</Property>
        <Property name="JCA.ConnectionSpec.Param1.type" secret="false">String</Property>
        <Property name="JCA.ConnectionSpec.Param1.value" secret="false">symfo_datasource</Property>
        <Property name="JCA.ConnectionSpec.Param2.name" secret="false">setServiceName</Property>
        <Property name="JCA.ConnectionSpec.Param2.type" secret="false">@INPUT</Property>
        <Property name="JCA.ConnectionSpec.Param2.value" secret="false">SERVICE_NAME</Property>
        <Property name="JCA.ConnectionSpec.Param3.name" secret="false">setLocalConnection</Property>
        <Property name="JCA.ConnectionSpec.Param3.type" secret="false">@INPUT</Property>
        <Property name="JCA.ConnectionSpec.Param3.value" secret="false">JMSR_DB_CONNECTION</Property>
        <Property name="JCA.InteractionSpec.ImplClass.name" secret="false">com.fujitsu.esi.adapter.db.outbound.cci.ESIDBAdapterInteractionSpec</Property>
        <Property name="JCA.Interaction.ImplClass.type" secret="false">record_return</Property>
        <Property name="JCA.InteractionSpec.Param1.name" secret="false">setSql</Property>
        <Property name="JCA.InteractionSpec.Param1.type" secret="false">String</Property>
        <Property name="JCA.InteractionSpec.Param1.value" secret="false">INSERT INTO 在庫管理.在庫表 VALUES(?P1?,?P2?,?P3?,?P4?)</Property>
        <Property name="JCA.InteractionSpec.Param2.name" secret="false">setAccessType</Property>
        <Property name="JCA.InteractionSpec.Param2.type" secret="false">String</Property>
        <Property name="JCA.InteractionSpec.Param2.value" secret="false">UPDATE</Property>
        <Property name="JCA.InputRecord.code" secret="false">UTF-8</Property>
        <Property name="JCA.InputRecord.type" secret="false">Mapped</Property>
        <Property name="JCA.OutputRecord.code" secret="false">UTF-8</Property>
        <Property name="JCA.OutputRecord.type" secret="false">Mapped</Property>
        <Property name="JCA.OutputRecord.Map0.name" secret="false">com.fujitsu.esi.payload</Property>
        <Property name="JCA.OutputRecord.Map0.type" secret="false">payload</Property>
        <Property name="JCA.OutputRecord.Map0.value" secret="false"></Property>
        <Property name="JCA.InputRecord.Map0.name" secret="false">com.fujitsu.esi.payload</Property>
        <Property name="JCA.InputRecord.Map0.type" secret="false">payload</Property>
        <Property name="JCA.InputRecord.Map0.value" secret="false"></Property>
        <Property name="JCA.InputRecord.Map1.name" secret="false">P1</Property>
        <Property name="JCA.InputRecord.Map1.type" secret="false">db</Property>
        <Property name="JCA.InputRecord.Map1.value" secret="false">String</Property>
        <Property name="JCA.InputRecord.Map2.name" secret="false">P2</Property>
        <Property name="JCA.InputRecord.Map2.type" secret="false">db</Property>
        <Property name="JCA.InputRecord.Map2.value" secret="false">String</Property>
        <Property name="JCA.InputRecord.Map3.name" secret="false">P3</Property>
        <Property name="JCA.InputRecord.Map3.type" secret="false">db</Property>
        <Property name="JCA.InputRecord.Map3.value" secret="false">String</Property>
        <Property name="JCA.InputRecord.Map4.name" secret="false">P4</Property>
        <Property name="JCA.InputRecord.Map4.type" secret="false">db</Property>
        <Property name="JCA.InputRecord.Map4.value" secret="false">String</Property>
    </PropertyList>
</Service>

ユーザが指定するPropertyの項目について以下の定義項目の表に記載します。

この表で記載した以外の項目は、上記の定義をそのままサービス情報に記載してください。

表C.44 定義項目

キー名

説明

指定例

Service

name

サービス名を指定します。

service01

type

サービスのタイプ“DB”を指定します。

DB

Property

JCA.ConnectionSpec.Param1.value

データベース連携で使用するデータソース名を指定します。

JMS-RキューのDBと同一トランザクションで連携する場合は指定不要です。

symfo_datasource

JCA.ConnectionSpec.Param3.name

JMS-RキューのDBと同一トランザクションで連携する場合に指定します。値は“setLocalConnection”で固定です。

setLocalConnection

JCA.ConnectionSpec.Param3.type

JMS-RキューのDBと同一トランザクションで連携する場合に指定します。値は“@INPUT”で固定です。

@INPUT

JCA.ConnectionSpec.Param3.value

JMS-RキューのDBと同一トランザクションで連携する場合に指定します。値は“JMSR_DB_CONNECTION”で固定です。

JMSR_DB_CONNECTION

JCA.InteractionSpec.Param1.value

実行するSQL文を指定します。

INSERT INTO 在庫管理.在庫表 VALUES(?P1?,?P2?,?P3?,?P4?)

JCA.InteractionSpec.Param2.value

実行するSQL種別を指定します。

  • UPDATE:DBの更新時

  • SELECT:DBの検索時

  • STORED:復帰値がないストアドプロシージャ実行時

  • STORED_SELECT:結果セットを返すストアドプロシージャ実行時

  • STORED_FUNC:パラメタ復帰のストアドプロシージャ実行時

UPDATE

JCA.InputRecord.code

入力データ(DBアダプタに渡されたデータ)の文字コードを指定します。

UTF-8

JCA.InputRecord.MapN.name

SQL文に記述したSQL文への設定パラメタを指定します。パラメタの数だけ指定し、プロパティ名のMapNのNには自然数を指定します。

P1

JCA.InputRecord.MapN.type

SQL文に記述したSQL文への設定パラメタに設定する値により以下のように指定します。

  • db:文字列を設定する場合

  • binary:バイナリデータを設定する場合

db

JCA.InputRecord.MapN.value

SQL文に記述したSQL文への設定パラメタに設定する値により以下のように指定します。

  • String:文字列を設定する場合

  • JCA.InputRecord.MapN.nameで設定したパラメタ名:バイナリデータを設定する場合

String

以降はDBの検索時または復帰値があるストアドプロシージャ実行時に指定します。

JCA.OutputRecord.code

出力データ(DBからの返却値)の文字コードを指定します。

UTF-8

JCA.OutputRecord.MapN.name

復帰値のパラメタ名を指定します。復帰値の数だけ指定します。

JCA.OutputRecord.MapN.type

復帰値の値により以下のように指定します。

  • db:文字列の場合

  • binary:バイナリデータの場合

JCA.OutputRecord.MapN.value

復帰値の値により以下のように指定します。

  • String:文字列の場合

  • JCA.OutputRecord.MapN.nameで設定したパラメタ名:バイナリデータを設定する場合

  • また、パラメタ復帰のストアドプロシージャ実行時は※を参照してください。

※復帰値があるストアドプロシージャ実行時のJCA.OutputRecord.MapN.valueの値

VARCHAR

12

BIGINT

-5

BIT

-7

INTEGER

4

SMALLINT

5

TINYINT

-6

DOUBLE

8

FLOAT

6

REAL

7

NUMERIC

2

DECIMAL

3

DATE

91

TIME

92

TIMESTAMP

93

CHAR

1

LONGVARCHAR

-1

BINARY

-2

VARBINARY

-3

LONGVARBINARY

-4