メイン コンテンツをスキップする 補完的コンテンツへスキップ

tMSSqlRowの標準プロパティ

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

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

このフレームワーク内のコンポーネントは、すべてのTalend製品で使用できます。

情報メモ注: このコンポーネントは、動的データベースコネクターの特定のバージョンです。データベース設定に関連するプロパティは、データベースタイプの選択に応じて異なります。動的データベースコネクターについては、DB Genericコンポーネントをご覧ください。
情報メモ注: ESB用にジョブをOSGIバンドルとしてビルドする場合、SQL Serverコンポーネントで使われるMS SQL Serverドライバーであるjtdsとmssql-jdbcは、ビルドアーティファクトには含まれていません。 Talend Runtimeでアーティファクトを実行する場合は、これらのドライバーを<TalendRuntimePath>/libフォルダーにコピーして手動でデプロイし、 Talend Runtimeを再起動する必要があります。

基本設定

データベース

目的のデータベースタイプをリストから選択し、[Apply] (適用)をクリックします。

[Property type] (プロパティタイプ) [Built-in] (組み込み)[Repository] (リポジトリー)のいずれかです。
  • [Built-In] (組み込み): 一元的に保存されるプロパティデータはありません。
  • [Repository] (リポジトリー): プロパティが保管されるリポジトリーファイルを選択します。後続フィールドは、取得されたデータを使用して自動的に入力されます。
[Use an existing connection] (既存の接続を使用)

定義済みの接続の詳細を再利用する場合は、このチェックボックスを選択して、[Component List] (コンポーネントリスト)ドロップダウンリストから、目的の接続コンポーネントを選択します。

情報メモ注: ジョブに親ジョブと子ジョブが含まれている時は、親ジョブと子ジョブの間の既存の接続を共有したい場合(たとえば、親ジョブで作成した接続を子ジョブと共有するなど)には、次のように実行します。
  1. 親レベルで、共有するデータベース接続を、そのデータベース接続そのものを作成する接続コンポーネントの[Basic settings] (基本設定)ビューに登録します。
  2. 子レベルで、登録済みのそのデータベース接続を読み取るために専用の接続コンポーネントを使用します。

ジョブレベル全体でデータベース接続を共有する方法の例は、データベース接続を共有をご覧ください。

[JDBC Provider] (JDBCプロバイダー)

使うJDBCドライバーのプロバイダー、[Microsoft] (マイクロソフト) (デフォルト、推奨)または[Open source JTDS] (オープンソースJTDS)を選択します。

Microsoftを選択した場合は、SQL Server用Microsoft JDBCドライバーを[Microsoftダウンロードセンター]からダウンロードし、ダウンロードしたzipファイルを解凍し、解凍したフォルダーからお使いのJREバージョンに基づいてjarを選択し、jarの名前をmssql-jdbc.jarに変更し、手動でインストールする必要があります。jarの選択については、Microsoftダウンロードセンターでシステム要件情報をご覧ください。

OSGiビルドには、オープンソースのjTDSJDBCドライバーが含まれないことにご注意ください。このコンポーネントが含まれているジョブをOSGiバンドルとしてビルドする必要がある時は、Microsoftの公式JDBCドライバーを使用してください。このドライバーを使用しない場合、このコンポーネントは、 Talend Runtimeに正しくインストールされたjTDSJDBCドライバーを使用するデータソースでのみ機能します。

[Host] (ホスト)

使うデータベースサーバーかAzure Synapse AnalyticsのIPアドレスまたはホスト名を指定します。

サーバーが存在するマシンでSQL Server Browserサービスが実行中である場合は、このフィールドにホスト名とインスタンス名を{host_name}\{instance_name}という形式で指定すれば、TCPダイナミックポートを通じてネームドインスタンスに接続できるようになります。この場合は[Port] (ポート)フィールドを空白のまましておきます。関連情報は、SQL Server Browser serviceをご覧ください。

[Port] (ポート)

使うデータベースサーバーかAzure Synapse Analyticsのリスニングポート番号を入力します。

サーバーが存在するマシンでSQL Server Browserサービスが実行中である場合は、[Host] (ホスト)フィールドにホスト名とインスタンス名を入力し、このフィールドを空にしておけば、TCPダイナミックポートを通じてネームドインスタンスに接続できるようになります。関連情報は、SQL Server Browser serviceをご覧ください。

データベース

データベースの名前を入力します。

スキーマ

データベーススキーマの名前を入力します。

[Username] (ユーザー名)[Password] (パスワード) 認証データを入力します。

パスワードを入力するためには、[Password] (パスワード)フィールドの横にある[...]ボタンをクリックし、ポップアップダイアログボックスにパスワードを二重引用符で囲んで入力して[OK]をクリックし、設定を保存します。

[Additional JDBC Parameters] (追加のJDBCパラメーター)フィールドにintegratedSecurity=trueを追加し、これら2つのフィールドを空にしておけば、Windows[Type 2 integrated authentication] (タイプ2のインテグレーション認証)を使用できるようになります。関連情報は、Building the connection URLConnecting with integrated authentication On Windowsというセクションをご覧ください。

[Schema] (スキーマ)[Edit Schema] (スキーマを編集)

スキーマとは行の説明のことです。処理して次のコンポーネントに渡すフィールド(カラム)数を定義します。Sparkジョブを作成する場合、フィールドの命名時は予約語のlineを避けます。

[Built-in] (組み込み): そのコンポーネントに対してのみスキーマを作成し、ローカルに保管します。

[Repository] (リポジトリー): スキーマは作成済みで、リポジトリーに保管されています。さまざまなプロジェクトやジョブデザインで再利用できます。

スキーマを変更するには[Edit schema] (スキーマを編集)をクリックします。現在のスキーマがリポジトリータイプの場合は、3つのオプションを利用できます。

  • [View schema] (スキーマを表示): スキーマのみを表示する場合は、このオプションを選択します。

  • [Change to built-in property] (組み込みのプロパティに変更): ローカルで変更を行うためにスキーマを組み込みに変更する場合は、このオプションを選択します。

  • [Update repository connection] (リポジトリー接続をアップデート): リポジトリーに保存されているスキーマに変更を加え、変更後にそのコンテンツをすべてのジョブにプロパゲートするかどうかを決める場合は、このオプションを選択します。

    変更を現在のジョブにのみ反映する場合は、変更後、[No] (いいえ)を選択し、[Repository Content] (リポジトリーコンテンツ)ウィンドウで再びこのスキーマのメタデータを選択します。

[Table name] (テーブル名) 使うテーブルの名前を入力します。
[Turn on identity insert] (ID挿入をオンにする) (SQL Serverに次の順次値を選択させるのではなく)挿入されたレコードのID値に独自のシーケンスを使う場合は、このチェックボックスをオンにします。
[Query type] (クエリータイプ) [Built-in] (組み込み)[Repository] (リポジトリー)のいずれかです。
  • [Built-in] (組み込み): 手動でクエリーステートメントを入力するか、SQLBuilderを使ってグラフィカルに作成します。
  • [Repository] (リポジトリー): リポジトリーに保管されている関連クエリーを選択します。[Query] (クエリー)フィールドに情報が入力されます。
[Guess Query] (クエリーを推測) [Guess Query] (クエリーを推測)ボタンをクリックして、[Query] (クエリー)フィールド内のテーブルスキーマに対応するクエリーを生成します。
[Query] (クエリー) クエリーを入力します。フィールドの順序に気を付けて、スキーマ定義と一致するようにしてください。
[Specify a data source alias] (データソースエイリアスを指定)

このチェックボックスを選択して、データソース設定で定義した共有接続プールを使用するために、 Talend Runtime 側で作成したデータソースのエイリアスを指定します。このオプションは、 Talend Runtime 内にジョブをデプロイして実行する時にのみ機能します。

このチェックボックスは、[Use an existing connection] (既存の接続を使用)チェックボックスがオンになっている場合は利用できません。

[Data source alias] (データソースエイリアス)

Talend Runtime 側で作成したデータソースのエイリアスを入力します。

このフィールドは、[Specify a data source alias] (データソースエイリアスを指定)チェックボックスがオンの場合のみ利用できます。

[Die on error] (エラー発生時に強制終了) このチェックボックスはデフォルトで選択されています。エラーの発生した行をスキップし、エラーが発生していない行の処理を完了するには、このチェックボックスをオフにします。必要に応じて[Row] (行) > [Rejects] (リジェクト)リンクを使用してエラー発生時に行を取得できます。

詳細設定

[Additional JDBC parameters] (追加のJDBCパラメーター)

作成するデータベース接続に接続の追加プロパティを指定します。プロパティはセミコロンで区切られ、各プロパティはキー-値ペアです。たとえばAzure SQLデータベース接続の場合は、encrypt=true;trustServerCertificate=false; hostNameInCertificate=*.database.windows.net;loginTimeout=30;となります。

このフィールドは、[Use an existing connection] (既存の接続を使用)チェックボックスがオンになっている場合は利用できません。

[Authenticate using Azure Active Directory] (Azure Active Directoryを使って認証)

このオプションを選択すると、接続を確立する時にAzure Active Directory認証を使用できます。関連情報は、Azure AD Authenticationをご覧ください。

このオプションは、[Basic settings] (基本設定)ビューの[JDBC Provider] (JDBCプロバイダー)ドロップダウンリストからMicrosoftが選択されている場合のみ利用できます。

[Enable always encrypted (Column encryption)] (常に暗号化を有効にする(カラムの暗号化)) このオプションを選択すると、MicrosoftのAlways encrypted機能が使用され、データが暗号化および保護されます。このオプションを使用するためには、事前にAzure Key Vaultでシークレットを保存しておく必要があります:
  • [Application Client ID] (アプリケーションクライアントID): 登録済みアプリケーションのクライアントIDを入力します。この情報は、Azure Active Directory > [App registrations] (アプリの登録) > [Essentials] (基本)の下にあるアプリの詳細に記載されています。
  • [Application Client Secret] (アプリケーションクライアントシークレット): 登録済みアプリケーションのクライアントパスワードを入力します。この情報は、Azure Active Directory > [App registrations] (アプリの登録) > [Certificates and secrets] (証明書とシークレット)の下にあるアプリの詳細に記載されています。

この機能には、クエリー操作とステートメントに関する制限がいくつか適用されます。制限事項の包括的なリストは、Microsoft SQL Serverのドキュメンテーションをご覧ください。

[Propagate QUERY's recordset] (QUERYのレコードセットをプロパゲート) クエリーの結果を現在のフローのカラムに挿入するには、このチェックボックスを選択します。このカラムを[use column] (カラムの使用)リストから選択します。
情報メモ注: このオプションにより、コンポーネントは、先行コンポーネントのスキーマとは異なるスキーマを持つことができます。さらに、クエリーのレコードセットが含まれているカラムはObjectタイプに設定する必要があります。通常、このコンポーネントにはtParseRecordSetコンポーネントが続きます。
[Set Query Timeout] (クエリータイムアウトを設定) このオプションを選択して、クエリーまたはバッチクエリーのタイムアウト期間を設定するために使われます。クエリーまたはバッチクエリーがタイムアウトするとジョブは終了します。[Timeout] (タイムアウト)フィールドで、タイムアウト期間(秒)を設定できます。
情報メモ注:
  • このオプションは、Microsoftが提供するJDBCドライバーを使う(つまり[JDBC Provider] (JDBCプロバイダー)ドロップダウンリストからMicrosoftを選択する)と、バッチクエリーに適用されます。JTDSドライバーを使う(つまり[JDBC Provider] (JDBCプロバイダー)ドロップダウンリストからOpen source JTDSを選択する)と、個別のクエリーに適用されます。
  • このオプションは、Talendが提供するR2021-12以降のTalend Studioマンスリーアップデートをインストール済みである場合のみ利用できます。詳細は管理者にお問い合わせください。
[Use PreparedStatement] (PreparedStatementの使用) PreparedStatementを使用してデータベースでクエリーを実行する場合は、このチェックボックスを選択します。[Set PreparedStatement Parameter] (PreparedStatementパラメーターの設定)テーブルで、[Basic Settings] (基本設定)タブの[Query] (クエリー)フィールドのSQL命令の中で"?"で表されるパラメーターを定義します。

[Parameter Index] (パラメーターインデックス): SQL命令にパラメーターの位置を入力します。

[Parameter Type] (パラメータータイプ): パラメーターのタイプを入力します。

[Parameter Value] (パラメーター値): パラメーター値を入力します。

情報メモ注: このオプションは、同じクエリーを数回実行する必要がある場合に非常に便利です。パフォーマンスレベルの向上
[Commit every] (コミットする間隔) 行のバッチをDBにまとめてコミットする前に完了する行数。このオプションにより、トランザクションの品質(ロールバックは対象外)が保証され、実行時のパフォーマンスが向上します。
[tStatCatcher Statistics] (tStatCatcher統計) このチェックボックスを選択すると、コンポーネントレベルでログデータを収集できます。

グローバル変数

グローバル変数

NB_LINE: 処理された行の数。これはAfter変数で、整数を返します。

[Advanced settings] (詳細設定)ビューで[Propagate QUERY's recordset] (QUERYのレコードセットのプロパゲート)オプションが選択されている場合、この変数は単一のResultSetの数(つまり1)を返します。

QUERY: 処理されているクエリーステートメント。これはFlow変数で、文字列を返します。

ERROR_MESSAGE: エラーが発生した時にコンポーネントによって生成されるエラーメッセージ。これはAfter変数で、文字列を返します。この変数はコンポーネントにこのチェックボックスが存在し、[Die on error] (エラー発生時に強制終了)がオフになっている場合のみ機能します。

Flow変数はのコンポーネントの実行中に機能し、After変数はコンポーネントの実行後に機能します。

フィールドまたは式に変数を入力する場合は、Ctrl + スペースを押して変数リストにアクセスし、使用する変数を選択します。

変数の詳細は、コンテキストと変数を使用をご覧ください。

使用方法

使用ルール このコンポーネントでは、DBクエリーの柔軟性が提供されており、使用可能なすべてのSQLクエリーが網羅されています。
[Dynamic settings] (ダイナミック設定)

[+]ボタンをクリックしてテーブルに行を追加し、[Code] (コード)フィールドにコンテキスト変数を入力して、ジョブ内で計画した複数の接続からデータベース接続をダイナミックに選択します。この機能は、データストラクチャーが同じでデータベースが異なるデータベーステーブルにアクセスする必要がある場合、特に、Talend Studioを介さずにジョブをデプロイおよび実行する必要がある時など、ジョブの設定を変更できない環境で作業している場合に役立ちます。

[Dynamic settings] (ダイナミック設定)テーブルは、[Basic settings] (基本設定)ビューで[Use an existing connection] (既存の接続を使用)チェックボックスがオンになっている場合のみ利用できます。ダイナミックパラメーターを定義すると、[Basic settings] (基本設定)ビューの[Component List] (コンポーネントリスト)ボックスは利用できなくなります。

ダイナミックパラメーターの定義法を示すユースケースについては、コンテキストベースのダイナミック接続によってデータベースからデータを読み取りと、ダイナミックにロードされた接続パラメーターを使って異なるMySQLデータベースからデータを読み取りをご覧ください。ダイナミック設定とコンテキスト変数の詳細は、ダイナミックスキーマコンテキストグループを作成し、その中でコンテキスト変数を定義をご覧ください。

制限事項

ライセンスの互換性の問題のため、このコンポーネントの使用に必要な1つ以上のJARが提供されていません。この特定のコンポーネントに不足しているJARをインストールするには、Component (コンポーネント)タブビューの[Install] (インストール)ボタンをクリックします。Talend StudioIntegrationパースペクティブにある[Modules] (モジュール)タブでも、不足しているすべてのJARを簡単に見つけて追加できます。詳細は、外部モジュールをインストールをご覧ください。

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。