---
schema_version: "1"
id: 15d0c184eba4ea267ff70f895fa7577cbce9d123be0e437a85b8d581d78db50d
title: JDBC Connector
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/jdbc-connector/latest/index.md
canonical_url: https://docs.mulesoft.com/jp/jdbc-connector/latest/
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 92d764f88f08b9143ee6a42f99a9f06f6678ccd309dd8bbc961be473ffb542ba
description: MuleSoft Documentation Site
release: 0.3.9
latest: true
---
# JDBC Connector

<table>
<tbody><tr>
<td class="icon">
<i class="fa icon-warning" title="Warning"></i>
</td>
<td class="content">
<div class="paragraph">
<p>2014 年 5 月にリリースされた Anypoint Studio (3.5.0 ランタイム) と、その新しい Database Connector では、​<strong>JDBC Connector が非推奨になりました</strong>​。JDBC Connector を使用するアプリケーションは、3.5.0 Enterprise ランタイムで引き続き機能しますが、このコネクタを Studio パレットでアプリケーションに追加することはできなくなりました。</p>
</div>
<div class="paragraph">
<p>新しく設計された機能を利用するには、​<a href="#3.9@mule-runtime::database-connector.adoc" class="xref unresolved">Database Connector</a>​ のドキュメントを参照してください。</p>
</div>
</td>
</tr>
</tbody></table>

[CE スキーマ](http://www.mulesoft.org/docs/site/current3/schemadocs/namespaces/http_www_mulesoft_org_schema_mule_jdbc/namespace-overview.html)​

JDBC Connector は、トランスポートチャネルを実装して、Mule アプリケーションを JDBC 互換のデータベースに接続します。JDBC エンドポイントは、一方向のエクスチェンジパターンのインバウンドエンドポイントや、一方向のエクスチェンジパターンまたは要求-応答エクスチェンジパターンに設定されたアウトバウンドエンドポイントとして実装できます。

JDBC エンドポイントを使用して、データベースレコードで create、read、update、delete (通常、頭字語の CRUD で呼ばれる) 操作を実行します。EE バージョンを使用している場合、データベースに保存されているプロシージャー (新しいテーブルの動的な作成など) を呼び出すこともできます。

<table><tbody><tr><td class="icon"><i class="fa icon-note" title="Note"></i></td><td class="content">JDBC Connector では、マルチリソーストランザクションがサポートされています。マルチリソーストランザクションは、​<a href="#3.9@mule-runtime::database-connector.adoc" class="xref unresolved">Database Connector</a>​ でもサポートされています。​<a href="#3.9@mule-runtime::xa-transactions.adoc" class="xref unresolved">XA トランザクション</a>​を使用して、このユースケースを処理することも検討してください。</td></tr></tbody></table>

## [](#このコネクタのインストール方法)このコネクタのインストール方法

1. Anypoint Studio で、Studio タスクバーの Exchange アイコンをクリックします。
2. Anypoint Exchange で \[Login (ログイン)\] をクリックします。
3. コネクタを検索して \[Install (インストール)\] をクリックします。
4. 画面の指示に従ってコネクタをインストールします。

Studio の更新がある場合、右下隅にメッセージが表示されます。メッセージをクリックすると、更新をインストールできます。

## [](#configuration-設定)Configuration (設定)

JDBC エンドポイント設定は、3 つのフェーズで構成されています。

1. Mule フロー内の JDBC エンドポイントを配置する場所を決定し、パレットから、Mule フローを構成するプロセッサーのシーケンスの適切な場所に JDBC エンドポイントをドラッグします。  
    
    1. JDBC エンドポイントをフローの先頭に配置する場合、\[polling frequency (ポーリング頻度)\] 項目で指定した間隔でクエリを実行してフローをトリガーするポーリングインバウンドエンドポイント (メッセージソースなど) として機能します。これは、インバウンドエンドポイントの一方向のエクスチェンジパターンに対応する必要があります。
        
        <table><tbody><tr><td class="icon"><i class="fa icon-note" title="Note"></i></td><td class="content">JDBC インバウンドエンドポイントは、一方向のエクスチェンジパターンにのみ設定できます。JDBC アウトバウンドエンドポイントは、一方向のエクスチェンジパターンまたは要求-応答エクスチェンジパターンのいずれかに設定できます。エクスチェンジパターンについての詳細は、​<a href="#6.x@studio::index.adoc" class="xref unresolved">「Anypoint Studio の基礎」</a>​を参照してください。</td></tr></tbody></table>
    2. JDBC プロセッサーをフローの中間または末尾に配置する場合、アウトバウンドエンドポイント (SQL コードを実行するプロセッサー) として機能します。SQL ステートメントによって、返されるデータ型が異なります。たとえば、クエリではマップのリスト、ストアドプロシージャー (EE でのみ使用可能) ではマップが返され、他の更新ステートメントでは何も返されません。
2. メッセージフローキャンバスの JDBC アイコンをダブルクリックして開くことができる​**プロパティ**​ペインで、さまざまなタブの項目の値を入力して JDBC エンドポイントを設定します。

プロパティエディターには、5 つのタブがあります (詳細は下記参照)。

### [](#general-一般-タブ)\[General (一般)\] タブ

![DB1](/mulesoft/current/ja-jp/jdbc-connector/latest/_images/db1.png)

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 50%;">
<col style="width: 50%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">プロパティ</th>
<th class="tableblock halign-left valign-top">説明</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Display Name (表示名)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">デフォルトは汎用エンドポイント名 (この場合は JDBC) です。エンドポイントの特定の役割が反映されるように ​<code>Order Entry Endpoint</code>​ などの表示名に変更します。表示名は英数字にする必要があります。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Exchange-Pattern (エクスチェンジパターン)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">インバウンドまたはアウトバウンドエンドポイントを一方向 (デフォルト) に設定すると、JDBC エンドポイントは受信データをフローの次のプロセッサーに送信します。要求-応答 (アウトバウンド JDBC エンドポイントでのみ可能) に設定すると、エンドポイントはデータを送信する前に応答を待機します。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Query Key (クエリキー)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">データベースにアクセスするときに使用するクエリを指定します。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>SQL</strong>​ ​<strong>Statement (SQL ステートメント)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">詳細は、​<a href="#sql-statement-sql-ステートメント">SQL Statement (SQL ステートメント)</a>​を参照してください。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Transaction Type (トランザクション種別)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">データベースリソースにアクセスする方法をドロップダウンリストから選択します。使用可能なオプションは、[No Transactions (トランザクションなし)]、[XA Transactions (XA トランザクション)]、[JDBC Transactions (JDBC トランザクション)] です。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Transaction Action (トランザクションアクション)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">トランザクションでデータベースにアクセスする方法をドロップダウンリストから選択します。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Transaction Timeout (トランザクションタイムアウト)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">アクションが完了するまで待機するタイムアウト (ミリ秒) を入力します。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Interact with External (外部とやりとり)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Mule が Mule の外部で始まるトランザクションとやりとりできるようにする場合は、チェックボックスをオンにします。たとえば、外部トランザクションがアクティブな場合、​BEGIN_OR_JOIN​ が追加されるため、​ALWAYS_BEGIN​ で例外がスローされます。</p></td>
</tr>
</tbody>
</table>

#### [](#sql-statement-sql-ステートメント)SQL Statement (SQL ステートメント)

フロー設定時に Mule Enterprise Edition ランタイムが指定された場合のにみ ​**\[General (一般)\] タブ**​の ​**\[Query (クエリ)\]**​ パネルがこのパネル (​**下記参照**​) に置き換わります。

![sql\_statement](/mulesoft/current/ja-jp/jdbc-connector/latest/_images/sql-statement.png)

このパネルを使用すると、SQL クエリやストアドプロシージャーを指定しやすくなります。ストアドプロシージャーを選択する手順は、次のとおりです。

1. **JDBC エンドポイント**​のプロパティエディターにある ​**\[General (一般)\]**​ タブの ​**\[SQL Statement (SQL ステートメント)\]**​ パネルの ​**\[Key (キー)\]**​ テキストボックスの右側にある緑の「プラス」アイコンをクリックします。
2. **\[Query (クエリ)\]**​ ダイアログボックス (​**下記参照**​) が表示されたら、識別するストアドプロシージャーのキーを ​**\[Query Key (クエリキー)\]**​ テキストボックス入力します。
3. 大きな ​**\[Query (クエリ)\]**​ テキストボックスに、実行する SQL ステートメントを入力します。
4. 項目のエントリに問題がなければ、​**\[Finish (完了)\]**​ をクリックしてコミットします。
    
    ![DB2](/mulesoft/current/ja-jp/jdbc-connector/latest/_images/db2.png)

### [](#advanced-詳細-タブ)\[Advanced (詳細)\] タブ

![DB3](/mulesoft/current/ja-jp/jdbc-connector/latest/_images/db3.png)

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 50%;">
<col style="width: 50%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">プロパティ</th>
<th class="tableblock halign-left valign-top">説明</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Address (住所)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">このエンドポイントのアドレス (jdbc://getTest?type=1 など) を入力します。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Response Timeout (応答タイムアウト)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">エンドポイントが応答を待機する必要がある時間 (ミリ秒) を指定します。デフォルトは ​<strong>1000</strong>​ ミリ秒です。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Encoding (エンコード)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">ドロップダウンリストから、メッセージデータに使用する文字セット。(UTF-8 など)。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Disable Transport Transformer (トランスポートトランスフォーマーを無効化)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">エンドポイントのデフォルトの応答トランスポートを​<em>使用しない</em>​場合、このボックスをオンにします。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>MIME Type (MIME タイプ)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">ドロップダウンリストから、このエンドポイントでサポートされる形式の 1 つを選択します。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Query Timeout (クエリタイムアウト)</strong>​</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<em>(アウトバウンド JDBC エンドポイントにのみ適用)。</em>​JDBC エンドポイントで SQL ステートメントから応答が返されるのを待機する時間 (ミリ秒) を指定します。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Polling Frequency (ポーリング頻度)</strong>​</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<em>(インバウンド JDBC エンドポイントにのみ適用)。</em>​受信メッセージをチェックする頻度を指定します。デフォルト値は ​<strong>1000</strong>​ ms です。</p></td>
</tr>
</tbody>
</table>

### [](#references-参照-タブ)\[References (参照)\] タブ

![DB4](/mulesoft/current/ja-jp/jdbc-connector/latest/_images/db4.png)

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 50%;">
<col style="width: 50%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">プロパティ</th>
<th class="tableblock halign-left valign-top">説明</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Endpoint Reference (エンドポイント参照)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">ドロップダウンリストを使用して、以前に設定したグローバルエンドポイント参照を選択します。このエンドポイント種別のグローバル要素を作成していない場合、このウィンドウから ​<strong>[Add (追加)]</strong>​ をクリックして作成できます。以前に作成したグローバル要素を変更するには、​<strong>[Edit (編集)]</strong>​ をクリックします。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Connector Reference (コネクタリファレンス)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>ドロップダウンリストを使用して、このエンドポイントの以前に設定したコネクタを選択します。このエンドポイント種別のコネクタを作成していない場合、このウィンドウから ​<strong>[Add (追加)]</strong>​ をクリックして作成できます。以前に作成したグローバル要素を変更するには、​<strong>[Edit (編集)]</strong>​ をクリックします。グローバル JDBC Connector の使用可能な種別を次に示します。</p>
</div>
<div class="ulist">
<ul>
<li>
<p>DB2 データソース</p>
</li>
<li>
<p>Derby データソース</p>
</li>
<li>
<p>MS SQL データソース</p>
</li>
<li>
<p>MySQL データソース</p>
</li>
<li>
<p>Oracle データソース</p>
</li>
<li>
<p>PostgreSQL データソース</p>
</li>
</ul>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Request Transformer References (要求トランスフォーマー参照)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">トランスポートに送信される前に要求に適用する同期トランスフォーマーのリストを入力します。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Response Transformer References (応答トランスフォーマー参照)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">トランスポートから返される前に応答に適用する同期トランスフォーマーのリストを入力します。</p></td>
</tr>
</tbody>
</table>

<table>
<tbody><tr>
<td class="icon">
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
<div class="paragraph">
<p>このコネクタには 1 つの追加プロパティがあります。現在、このプロパティは、Studio でコネクタリファレンスを設定するときにグローバルレベルでのみ設定できます。</p>
</div>
<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 34%;">
<col style="width: 33%;">
<col style="width: 33%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">プロパティ</th>
<th class="tableblock halign-left valign-top">デフォルト値</th>
<th class="tableblock halign-left valign-top">説明</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>handleOutputResultSets</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">false</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">true に設定されていると、コールからストアドプロシージャーに結果セットが返されます。</p></td>
</tr>
</tbody>
</table>
<div class="paragraph">
<p>このプロパティを ​<code>true</code>​ に設定するには、コネクタリファレンスを作成または編集して、グローバル要素設定の [Advanced (詳細)] タブを開き、​<strong>[Handle Output Result Sets (出力結果セットを処理)]</strong>​ の横にあるチェックボックスをオンにします。</p>
</div>
</td>
</tr>
</tbody></table>

### [](#queries-クエリ-タブ)\[Queries (クエリ)\] タブ

![DB2](/mulesoft/current/ja-jp/jdbc-connector/latest/_images/db2.png)

以下で構成されるこのエンドポイントの SQL クエリを入力できます。

- キー
- 値
- 値参照 (省略可能)

## [](#ヒント)ヒント

- **DataMapper と SQL ステートメントの反復実行:**​ DataMapper を使用して ArrayList をアプリケーションの JDBC エンドポイントにフィードする場合、Mule は DataMapper から出力される ArrayList の項目ごとに JDBC ステートメントを 1 回実行することに注意してください。これは想定される動作です。ペイロードがリストで、SQL ステートメントにパラメーターが含まれる場合、Mule は、挿入される値がリストに含まれていて、リストで BatchUpdateSqlStatementStrategy が使用されると想定します。この動作をさらに詳しく調べるには、次のクラスにアクセスします。
    
    - `com.mulesoft.mule.transport.jdbc.sqlstrategy.EESqlStatementStrategyFactory`​ (SQL およびペイロードの種別に基づいて SqlStatementStrategy を作成する)
    - `com.mulesoft.mule.transport.jdbc.sqlstrategy.BatchUpdateSqlStatementStrategy`

## [](#関連情報)関連情報

- XML エディターを使用した JDBC エンドポイントのプロパティの設定についての詳細は、​[「JDBC Transport Reference (JDBC トランスポートリファレンス)」](#3.9@mule-runtime::jdbc-transport-reference.adoc)​を参照してください。
- [Exchange の JDBC Connector](https://anypoint.mulesoft.com/exchange/68ef9520-24e9-4cf2-b2f5-620025690913/jdbc-connector)