# cSQL

クエリーに基づき、SQL接続を使って任意のデータベースに対して読み書きを行います。

詳細は、Apache Camelのドキュメンテーションhttps://camel.apache.org/components/latest/をご覧ください。

情報メモ注: このコンポーネントは、Talendが提供するR2022-11以降のTalend Studioマンスリーアップデートをインストール済みである場合にのみ利用できます。詳細は管理者にお問い合わせください。

## cSQLの標準プロパティ

これらのプロパティは、標準ルートのフレームワークで実行されているcSQLを設定するために使われます。

標準のcSQLコンポーネントは、Connectivityファミリーに属しています。

## 基本設定

| [Properties] (プロパティ) | 説明 |
| --- | --- |
| [Datasource] (データソース) | このコンポーネントで再利用するデータベース接続を開くコンポーネントを選択します。 |
| [Output Type] (出力タイプ) | 出力データの種類を選択してます。<br><br><ul> <li><span>SelectOne</span>: 出力は単一のJavaオブジェクトとしてください。</li> <li><span>SelectList</span>: 出力はマップのリスト形式にしてください。</li> <li><span>StreamList</span>: イテレーターを使用して出力をストリーミングします。</li> </ul> |
| バッチモード | このチェックボックスを選択すると、ステートメントがバッチモードで実行されます。 |
| [Use SQL statement from message body] (メッセージボディのSQL文を使用) | メッセージボディでクエリー文が指定されている場合は、このチェックボックスをオンにします。 |
| [Type] (タイプ) | SQLクエリのソースタイプを選択します。メッセージボディのSQL文を使用オプションが有効になっている場合、このオプションは使用できません。<br><br><ul> <li><span>[Built-In] (組み込み)</span>: クエリーステートメントは、コンポーネント内に直接入力されます。</li> <li><span>[Repository] (リポジトリー)</span>: クエリーステートメントは、既存のリポジトリーリソースファイルから選択されます。</li> <li><span>[File Path] (ファイルパス)</span>: クエリーステートメントは、ローカルファイルシステムから選択されます。</li> </ul> |
| [Query] (クエリー) | このオプションは、[Type] (タイプ)リストで[Built-In] (組み込み)が選択されている場合に表示されます。スキーマ定義と一致するようデータベースクエリー文を指定します。この場合、フィールドの適切な順序に特に注意が必要です。<br><br>Talendが提供するR2025-12 Talend Studioマンスリーアップデート、またはそれ以降のアップデートをインストールしている場合は、複数行を使用してSQLステートメントを自由にフォーマットできます。また、クエリコードボックスの横にある[...]をクリックすると、SQLビルダーが開いて、そこでクエリを作成できます。詳細については、「[SQLBuilderを使用してクエリーを作成する](https://help.qlik.com/talend/en-US/studio-user-guide/8.0/creating-queries-using-sqlbuilder)」を参照してください。 |
| リソース | このオプションは、[Type] (タイプ)リストから[Repository] (リポジトリー)が選択されている場合に表示されます。リポジトリーからリソースクエリステートメントファイルを選択します。クエリステートメントのバージョンが複数ある場合は、[バージョン]フィールドで目的のバージョンを選択します。 |
| [Resource File] (リソースファイル) | このオプションは、[Type] (タイプ)リストから[File Path] (ファイルパス)が選択されている場合に表示されます。ローカルファイルシステムにクエリステートメントファイルへのパスを入力します。 |

## 詳細設定

| [Properties] (プロパティ) | 説明 |
| --- | --- |
| 挿入にから生成されたキーを返す | cSQLを使用して自動インクリメントキーが設定されたテーブルにデータを挿入する際に、生成されたキーを取得するには、このチェックボックスを選択します。生成されたキーは、メッセージヘッダーCamelSqlGeneratedKeyRowsに含まれています。cSQLでサポートされているメッセージヘッダーの詳細については、「[メッセージヘッダー](https://camel.apache.org/components/4.14.x/sql-component.html#_message_headers)」を参照してください。<br><br>取得する生成済み列を指定するには、[+]をクリックして必要な回数だけ予想キーテーブルに行を追加し、列名を入力します。<br><br>情報メモ注: このオプションは、Talendが提供するR2025-12以降のTalend Studioマンスリーアップデートをインストール済みである場合にのみ利用できます。詳細は管理者にお問い合わせください。 |
| [URI Options] (URIオプション) | オプションの引数を対応するテーブルに設定します。[+]を必要な回数だけクリックして、テーブルに引数を追加します。[名前]フィールドでは、ドロップダウンリストからURIオプションを選択するか、リストにないオプション名を入力できます。次に、対応する[Value] (値)フィールドをクリックして、値を入力します。利用できるURIオプションについては、https://camel.apache.org/components/latest/sql-component.htmlサイトをご覧ください。 |

## 使用方法

| 使用方法のガイダンス | 説明 |
| --- | --- |
| **使用ルール** | cSQLは、ルートで開始、中間、終了のコンポーネントとして使用できます。このコンポーネントは、データベースへの接続を作成するcSQLConnectionコンポーネントと共に使用する必要があります。cSQLConnectionの詳細は、[cSQLConnection](https://help.qlik.com/talend/ja-JP/components/8.0/mediation-database/csqlconnection)をご覧ください。 |
| 制限事項 | 該当なし |

**関連概念**

* [SQL文を使ってH2データベースでデータを書き込みおよび読み取り](https://help.qlik.com/talend/ja-JP/mediation-components/8.0/mediation-database/csql-writing-and-reading-data-in-an-h2-database-with-an-sql-statement)