---
schema_version: "1"
id: fb658fbe2ad5b78ca61003be55d37efaabe6122c877f0e1ba55280c99f4a6142
title: テーブルへの大きなファイルコンテンツの挿入の例
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/db-connector/1.14/database-insert-large-clob.md
canonical_url: https://docs.mulesoft.com/jp/db-connector/1.14/database-insert-large-clob
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 12af050ad25b8a22ee08480216392efc60784d9fad3bb900fcf6f293ab1d0267
description: MuleSoft Documentation Site
release: "1.14"
latest: true
---
# テーブルへの大きなファイルコンテンツの挿入の例

データベース用 Anypoint Connector (Database Connector) の ​**Insert**​ 操作では、テーブルへのキャラクターラージオブジェクト (CLOB) の挿入がサポートされます。次の例は、大きなファイルのコンテンツを読み取って、そのコンテンツの型をサポートするテーブルにコンテンツを挿入する方法を示しています。

この例を実行するには、次の操作が必要です。  

- テーブルを作成する
- Mule アプリケーションを作成する
- アプリケーションを実行し、curl コマンドを使用してアプリケーションをテストする

![Studio キャンバスでの Mule アプリケーションフローの例](/mulesoft/current/ja-jp/db-connector/1.14/_images/database-insert-large-clobs.png)

## [](#テーブルの作成)テーブルの作成

任意の SQL クライアントツールを使用して、次の SQL ステートメントを含む ​`.sql`​ スクリプトを実行してテーブルを作成します。

```sql
CREATE TABLE AWESOMECLOBDATA(
    id INT AUTO_INCREMENT PRIMARY KEY,
    clob_data CLOB
);
```

## [](#mule-アプリケーションの作成)Mule アプリケーションの作成

次の手順に従って Mule アプリケーションを作成します。

1. Studio で HTTP の ​**\[Listener\]**​ ソースをキャンバスにドラッグします。
2. HTTP グローバル接続を設定するために、​**\[Connector configuration (コネクタ設定)\]**​ 項目の横にあるプラス記号 (​**+**​) をクリックします。
3. HTTP グローバル接続を設定して、​**\[OK\]**​ をクリックします。
4. **\[Path (パス)\]**​ を ​`/read-insert`​ に設定します。
5. **\[Logger\]**​ コンポーネントを \[HTTP\] の ​**\[Listener\]**​ ソースの右にドラッグします。
6. **\[Message (メッセージ)\]**​ を ​`Starting LARGE CLOB reading`​ に設定します。
7. File Connector の ​**\[Read\]**​ 操作を ​**\[Logger\]**​ コンポーネントの右にドラッグします。
8. 操作の設定画面の ​**\[General (一般)\]**​ タブで、​**\[Connector configuration (コネクタ設定)\]**​ 項目の横にあるプラス記号 (​**+**​) をクリックし、グローバル要素設定項目にアクセスします。
9. ファイルを適切に読み取るために ​**\[Working Directory (作業ディレクトリ)\]**​ を ​`/dir/containing/file/`​ に設定します。
10. **\[OK\]**​ をクリックします。
11. **\[File Path (ファイルパス)\]**​ を ​`awesomeFile.json`​ に設定します。
12. **\[MIME Type (MIME タイプ)\]**​ タブで ​**\[MIME Type (MIME タイプ)\]**​ を ​`application/octet-stream`​ に設定します。
13. 別の ​**\[Logger\]**​ コンポーネントを ​**\[Read\]**​ 操作の右にドラッグします。
14. **\[Display Name (表示名)\]**​ を ​`LARGE CLOB’s content on flow`​ と設定します。
15. Database Connector の ​**\[Insert\]**​ 操作を 2 番目の ​**\[Logger\]**​ コンポーネントの右にドラッグします。
16. データベースグローバル接続を設定するために、​**\[Connector configuration (コネクタ設定)\]**​ 項目の横にあるプラス記号 (​**+**​) をクリックします。
17. データベース接続を設定して、​**\[OK\]**​ をクリックします。
18. **\[SQL Query Text (SQL クエリテキスト)\]**​ を ​`INSERT INTO AWESOMECLOBDATA (clob_data) VALUES (:payload)`​ に設定します。  
    SQL テキストでは、ファイルのコンテンツを含む新しいレコードをテーブルに挿入します。
19. **\[Input Parameters (入力パラメーター)\]**​ を式に設定します。

```none
{
	payload: payload
}
```

1. 別の ​**\[Logger\]**​ コンポーネントを ​**\[Insert\]**​ 操作の右にドラッグします。
2. **\[Display Name (表示名)\]**​ を ​`LARGE CLOB’s content inserted`​ と設定します。
3. **\[Message (メッセージ)\]**​ を式 ​`payload`​ に設定します。
4. Mule アプリケーションを保存して実行します。
5. ターミナルで curl コマンド「​`curl localhost:8081/read-insert`​」を使用して、アプリケーションをテストします。

### [](#アプリケーションの-mime-タイプ)アプリケーションの MIME タイプ

`application/octet-stream`​ MIME タイプでは、ファイルのコンテンツがバイナリ形式に変換されるため、​**Read**​ 操作から ​**Insert**​ 操作にデータを適切に流すことができます。

たとえば、​`text/plain`​ MIME タイプを使用した場合、メモリ不足 (OOM) エラーが発生する可能性があります。これは、​**Insert**​ 操作の ​**\[Input Parameters (入力パラメーター)\]**​ 項目で定義された DataWeave ブロックで、データを操作自体に配布する前に、ファイルからのデータストリーム全体をテキストに変換する操作が試行されるために発生する可能性があります。

`application/json`​ MIME タイプを使用することもできます。ただし、ペイロードを参照するには、​**Insert**​ 操作で ​`payload.^raw`​ を使用します。

## [](#mule-アプリケーションの-xml)Mule アプリケーションの XML

この例のフローをすばやく Mule アプリケーションに読み込むには、次のコードを Studio XML エディターに貼り付けます。

```xml
<?xml version="1.0" encoding="UTF-8"?>

<mule xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core"
	xmlns:db="http://www.mulesoft.org/schema/mule/db" xmlns:file="http://www.mulesoft.org/schema/mule/file"
	xmlns:http="http://www.mulesoft.org/schema/mule/http"
	xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="
http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/file http://www.mulesoft.org/schema/mule/file/current/mule-file.xsd
http://www.mulesoft.org/schema/mule/db http://www.mulesoft.org/schema/mule/db/current/mule-db.xsd">
	<http:listener-config name="HTTP_Listener_config"  >
		<http:listener-connection host="0.0.0.0" port="8081" />
	</http:listener-config>

	<file:config name="File_Config" >
		<file:connection workingDir="/dir/containing/file/" />
	</file:config>

	<db:config name="dbConfig"  >
		<db:oracle-connection host="127.0.0.1" user="sys as sysdba" password="password" serviceName="orcl"/>
	</db:config>

	<flow name="read-insert-large-clob-file"  >
		<http:listener doc:name="/read-insert"  config-ref="HTTP_Listener_config" path="/read-insert" />

		<logger level="INFO" message="Starting LARGE CLOB reading" />

		<file:read config-ref="File_Config" path='awesomeFile.json' outputMimeType="application/octet-stream" />

		<logger level="INFO" doc:name="LARGE CLOB's content on flow" />

		<db:insert doc:name="Insert LARGE CLOB" config-ref="dbConfig">
			      <db:sql><![CDATA[INSERT INTO AWESOMECLOBDATA (clob_data) VALUES (:payload)]]></db:sql>
					<db:input-parameters><![CDATA[#[{
	payload: payload
}]]]></db:input-parameters>
		        </db:insert>

		<logger level="INFO" message="#[payload]" />
	</flow>
</mule>
```

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

- [Database Connector の例](https://docs.mulesoft.com/jp/db-connector/1.14/database-connector-examples)
- [File Connector](https://docs.mulesoft.com/file-connector/1.3/)
- [MuleSoft ヘルプセンター](https://help.mulesoft.com)