# tSingleStoreInput

JDBC API接続を使用して任意のデータベースを読み取り、クエリーに基づいてフィールドを抽出します。

tSingleStoreInputは、スキーマ定義に対応する厳密に定義された順序でデータベースクエリーを実行します。次に[Main]行リンクが使用され、フィールドリストの後続コンポーネントに渡されます。

## tSingleStoreInputの標準プロパティ

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

標準のtSingleStoreInputコンポーネントは、データベースファミリーに属しています。

このフレームワーク内のコンポーネントは、すべてのサブスクリプションベースのTalend製品で利用できます。

## 基本設定

| プロパティ | 説明 |
| --- | --- |
| データベース | 目的のデータベースタイプをリストから選択し、[Apply] (適用)をクリックします。 |
| [Property Type] (プロパティタイプ) | 接続の詳細を設定する方法を選択します。<br><br><ul> <li> <p> <span>[Built-In] (組み込み)</span>: このコンポーネントの接続の詳細がローカルに設定されます。関連するすべての接続のプロパティ値を手動で指定する必要があります。</p> </li> <li> <p> <span>[Repository] (リポジトリー)</span>: <span><span>[Repository] (リポジトリー)</span> &gt; <span>[Metadata] (メタデータ)</span></span>で一元的に保存された接続の詳細が、このコンポーネントによって再使用されます。 </p> <p>このチェックボックスの横にある <span>[...]</span> ボタンをクリックし、表示された <span>[Repository Content] (リポジトリーのコンテンツ)</span>ダイアログボックスで、再使用する接続の詳細を選択すると、関連するすべての接続のプロパティに値が自動的に入力されます。</p> </li> </ul><br><br>[Connection Component] (接続コンポーネント)ドロップダウンリストから、他の接続コンポーネントを選択した場合、このプロパティは、利用できません。 |
| ![](https://help.qlik.com/talend/ja-JP/components/8.0/Resources/images/Save_Icon.png) | このアイコンをクリックすると、データベース接続ウィザードが開き、コンポーネント[Basic settings] (基本設定)ビューに設定したデータベース接続パラメーターが保存されます。<br><br>データベース接続パラメーターの設定と保存の詳細は、[データベースメタデータを一元管理](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/centralizing-database-metadata)をご覧ください。 |
| [Connection Component] (接続コンポーネント) | このコンポーネントで再利用するデータベース接続を開くコンポーネントを選択します。 |
| JDBC URL | 使用するデータベースのJDBC URL。たとえば、Amazon RedshiftデータベースのJDBC URLはjdbc:redshift://endpoint:port/databaseです。 |
| [Drivers] (ドライバー) | 必要なドライバーJARをロードするには、このテーブルに入力してください。これを行うには、テーブルの下の[+]ボタンをクリックして、必要に応じてドライバーJAR用行数を増やします。セルを選択し、セルの右側にある[...]ボタンをクリックして、[Module] (モジュール)ダイアログボックスを開くと使用するドライバーJARを選択できます。たとえば、RedshiftデータベースのドライバーjarはRedshiftJDBC41-1.1.13.1013.jarです。<br><br>詳細は、[\[Importing a database driver\] (データベースドライバのインポート)](https://help.qlik.com/talend/r/ja-JP/8.0/components/jdbc/importing-database-driver)をご覧ください。 |
| [Driver Class] (ドライバークラス) | 指定したドライバーのクラス名を二重引用符で囲んで入力します。たとえば、RedshiftJDBC41-1.1.13.1013.jarドライバーの場合、入力する名前はcom.amazon.redshift.jdbc41.Driverになります。 |
| [User Id] (ユーザーID)と[Password] (パスワード) | データベースユーザー認証データ。<br><br>パスワードを入力するためには、パスワードフィールドの横にある[...]ボタンをクリックし、ポップアップダイアログボックスにパスワードを二重引用符で囲んで入力して[OK]をクリックし、設定を保存します。 |
| [Schema] (スキーマ)と[Edit schema] (スキーマを編集) | スキーマとは行の説明のことです。処理して次のコンポーネントに渡すフィールド(カラム)数を定義します。Sparkジョブを作成する場合、フィールドの命名時は予約語のlineを避けます。<br><br><ul> <li> <p> <span>[Built-in] (組み込み)</span>: そのコンポーネントに対してのみスキーマを作成し、ローカルに保管します。</p> </li> <li> <p> <span>[Repository] (リポジトリー)</span>: スキーマは作成済みで、リポジトリーに保管されています。さまざまなプロジェクトやジョブデザインで再利用できます。</p> </li> </ul><br><br>スキーマを変更するには[Edit schema] (スキーマを編集)をクリックします。変更を加えると、スキーマは自動的に組み込みになります。<br><br><ul> <li> <p> <span>[View schema] (スキーマを表示)</span>: スキーマのみを表示する場合は、このオプションを選択します。</p> </li> <li> <p> <span>[Change to built-in property] (組み込みのプロパティに変更)</span>: ローカルで変更を行うためにスキーマを<span>組み込み</span>に変更する場合は、このオプションを選択します。</p> </li> <li> <p> <span>[Update repository connection] (リポジトリー接続をアップデート)</span>: リポジトリーに保存されているスキーマに変更を加え、変更後にそのコンテンツをすべてのジョブにプロパゲートするかどうかを決める場合は、このオプションを選択します。</p> <p>変更を現在のジョブにのみ反映する場合は、変更後、<span>[No] (いいえ)</span>を選択し、<span>[Repository Content] (リポジトリーコンテンツ)</span>ウィンドウで再びこのスキーマのメタデータを選択します。</p> </li> </ul><br><br>このコンポーネントは、ダイナミックスキーマ機能の利点を備えているので、ソースファイルから不明なカラムを取得したり、各カラムを個別にマッピングしなくてもソースからカラムを一括してコピーしたりできます。ダイナミックスキーマの詳細は、[ダイナミックスキーマ](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/dynamic-schema)をご覧ください。<br><br>ダイナミックスキーマ機能は、テーブルの不明なカラムを取得するしくみになっており、その他の目的には使用しないことをお勧めします。テーブルの作成には推奨しません。 |
| テーブル | データが取得されるテーブルの名前を入力します。 |
| [Query Type] (クエリータイプ)と[Query] (クエリー) | スキーマ定義と一致するようデータベースクエリー文を指定します。この場合、フィールドの順序に特に注意が必要です。<br><br><ul> <li> <p> <span>[Built-in] (組み込み)</span>: <span>[Query] (クエリー)</span>フィールドのクエリーステートメントを手動で入力するか、<span>[Query] (クエリー)</span>フィールドの横にある<span>[...]</span>ボタンをクリックして、SQLBuilderを使用してステートメントをグラフィカルに構築します。</p> </li> <li> <p> <span>[Repository] (リポジトリー)</span>: リポジトリーに保存されている関連クエリーを選択します。これを行うにはその横にある<span>[...]</span>ボタンをクリックします。表示された<span>[Repository Content] (リポジトリーコンテンツ)</span>ダイアログボックスで使用するクエリーを選択すると、<span>[Query] (クエリー)</span>フィールドが自動的に入力されます。</p> </li> </ul><br><br>ダイナミックスキーマ機能を使用する場合、SELECTクエリーには、選択したテーブルからすべてのカラムを取得するため\*ワイルドカードを含める必要があります。 |
| [Guess Query] (クエリーを推測) | このボタンをクリックすると、定義されたテーブルとスキーマに基づいて[Query] (クエリー)フィールドにクエリーが生成されます。 |
| [Guess Schema] (推測スキーマ) | このボタンをクリックすると、[Query] (クエリー)フィールドで定義されたクエリーに基づいてスキーマカラムが生成されます。 |
| [Specify a data source alias] (データソースエイリアスを指定) | このチェックボックスを選択し、[Data source alias] (データソースエイリアス)フィールドが表示されたら、データソース設定で定義した共有接続プールを使用するために、 Talend Runtime側で作成したデータソースのエイリアスを指定します。このオプションは、 Talend Runtime内にジョブをデプロイして実行する時にのみ機能します。<br><br>[Connection Component] (接続コンポーネント)ドロップダウンリストから、他の接続コンポーネントを選択した場合、このプロパティは、利用できません。 |

## 詳細設定

| プロパティ | 説明 |
| --- | --- |
| [Use cursor] (カーソルを使用) | このチェックボックスを選択すると、いつでも作業する行数を指定できます。このオプションにより、パフォーマンスを最適化できます。 |
| [Trim all the string/CHAR columns] (すべての文字列/文字カラムをトリミング) | このチェックボックスを選択すると、先行ホワイトスペースおよび後続ホワイトスペースがすべての文字列/文字カラムから削除されます。 |
| [Check column to trim] (トリムするカラムの確認) | 対応するカラムのチェックボックスをオンにすると、先行ホワイトスペースおよび後続ホワイトスペースが削除されます。<br><br>このプロパティは、[Trim all the String/Char columns] (すべての文字列/文字カラムをトリミング)チェックボックスがオンになっている場合は利用できません。 |
| ダイナミック用にマッピングファイルの有効化 | ダイナミックタイプのカラムからデータを読み取る時に指定のメタデータマッピングファイルを使うには、このチェックボックスをオンにします。このチェックボックスは、デフォルトでオフになっています。<br><br>このチェックボックスをオンにすると、[Mapping File] (マッピングファイル)ドロップダウンリストからデータベースのタイプを選択すれば、使うメタデータマッピングファイルを指定できます。<br><br>メタデータマッピングファイルの詳細は、[マッピングファイルにアクセスしてタイプマッピングを定義](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/accessing-mapping-files-and-defining-type-mappings)をご覧ください。 |
| [Use PreparedStatement] (PreparedStatementの使用) | プレパレーション済みのステートメントを使用してデータベースをクエリーする場合は、このチェックボックスを選択します。表示される[Set PreparedStatement Parameters] (PreparedStatementパラメーターの設定) テーブルで、 [Query] (クエリー)フィールドで定義されたSQLステートメント内に疑問符?で表される各パラメーターの値を指定します。<br><br><ul> <li> <p> <span>[Parameter Index] (パラメーターインデックス)</span>: SQLステートメント内のパラメーターの位置。</p> </li> <li> <p> <span>[Parameter Type] (パラメータータイプ)</span>: パラメーターのデータ型。</p> </li> <li> <p> <span>[Parameter Value] (パラメーターの値)</span>: パラメーターの値。</p> </li> </ul><br><br>このプロパティの関連ユースケースは、[クエリーデータにPreparedStatementオブジェクトを使用](https://help.qlik.com/talend/r/ja-JP/8.0/components/mysql/tmysqlrow-tparserecordset-tfileinputdelimited-tfileoutputdelimited-using-preparedstatement-objects-to-query-data-standard-component-this)をご覧ください。 |
| [Allow special character in dynamic table name] (ダイナミックテーブル名に特殊文字を許可) | このオプションを選択すると、ダイナミックカラム内に入力テーブルの実際のカラム名を使用できます。このオプションを選択すると、入力テーブルのカラム名の特殊文字(例: $)がダイナミックカラム内で\_に変換されることを防止できます。<br><br>このオプションはデフォルトで選択されています。 |
| [tStatCatcher Statistics] (tStatCatcher統計) | このチェックボックスを選択すると、ジョブレベルおよび各コンポーネントレベルでジョブ処理メタデータが収集されます。 |

## グローバル変数

| 変数 | 説明 |
| --- | --- |
| ERROR\_MESSAGE | エラー発生時にコンポーネントによって生成されるエラーメッセージ。これはAfter変数で、文字列を返します。 |
| NB\_LINE | 処理された行数。これはAfter変数で、整数を返します。 |
| QUERY | 処理されるクエリーステートメント。これはFlow変数で、文字列を返します。 |

## 使用方法

| 使用方法のガイダンス | 説明 |
| --- | --- |
| **使用ルール** | このコンポーネントでは、SingleStore接続を使うすべてのデータベースに対し、使用可能なすべてのSQLクエリーが網羅されています。 |
| [Dynamic settings] (ダイナミック設定) | [+]ボタンをクリックしてテーブルに行を追加し、[Code] (コード)フィールドにコンテキスト変数を入力して、ジョブ内で計画した複数の接続からデータベース接続をダイナミックに選択します。この機能は、データストラクチャーが同じでデータベースが異なるデータベーステーブルにアクセスする必要がある場合、特に、Talend Studioを介さずにジョブをデプロイおよび実行する必要がある時など、ジョブの設定を変更できない環境で作業している場合に役立ちます。<br><br>ダイナミックパラメーターの定義法を示すユースケースについては、[コンテキストベースのダイナミック接続によってデータベースからデータを読み取り](https://help.qlik.com/talend/r/ja-JP/8.0/components/defining-context-groups/reading-data-from-databases-through-context-based-dynamic-connections)と、[ダイナミックにロードされた接続パラメーターを使って異なるMySQLデータベースからデータを読み取り](https://help.qlik.com/talend/r/ja-JP/8.0/components/context/reading-data-from-different-mysql-databases-using-dynamically-loaded-connection-parameters)をご覧ください。ダイナミック設定とコンテキスト変数の詳細は、[ダイナミックスキーマ](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/dynamic-schema)と[コンテキストグループを作成し、その中でコンテキスト変数を定義](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/creating-context-group-and-define-context-variables-in-it)をご覧ください。 |