データベース連携を行うための定義を作成します。
指定例
サービスエンドポイント定義
<?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> |
キー名 | 説明 | 指定例 |
---|---|---|
Endpoint | ||
name | サービスエンドポイント名を指定します。 | endpoint01 |
sync | サービスエンドポイントの同期タイプを指定します。
| true |
ServiceName | サービス名を指定します。サービス情報に指定したサービス名を指定してください。 | service01 |
サービス情報
<?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_NEME</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についてはユーザが指定する項目について表に記載します。
この表で記載した以外の項目は必須ですのでそのままサービス情報に記載してください。
キー名 | 説明 | 指定例 |
---|---|---|
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 |
JCA.InputRecord.code | 入力データ(DBアダプタに渡されたデータ)の文字コードを指定します。 | UTF-8 |
JCA.InputRecord.MapN.name | SQL文に記述したSQL文への設定パラメタを指定します。パラメタの数だけ指定し、プロパティ名のMapNのNには自然数を指定します。 | P1 |
JCA.InputRecord.MapN.type | SQL文に記述したSQL文への設定パラメタに設定する値により以下のように指定します。
| db |
JCA.InputRecord.MapN.value | SQL文に記述したSQL文への設定パラメタに設定する値により以下のように指定します。
| String |
以降はDBの検索時または復帰値があるストアドプロシージャ実行時に指定します。 | ||
JCA.OutputRecord.code | 出力データ(DBからの返却値)の文字コードを指定します。 | UTF-8 |
JCA.OutputRecord.MapN.name | 復帰値のパラメタ名を指定します。復帰値の数だけ指定します。 | |
JCA.OutputRecord.MapN.type | 復帰値の値により以下のように指定します。
| |
JCA.OutputRecord.MapN.value | 復帰値の値により以下のように指定します。
|
※復帰値があるストアドプロシージャ実行時の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 |