# tMSSqlConnection

後続のサブジョブで再利用できる、指定したデータベースへの接続を開きます。

tMSSqlConnectionは、Microsoft SQL ServerデータベースまたはMicrosoft Azure SQLデータベースへの接続をオープンします。

## tMSSqlConnectionの標準プロパティ

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

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

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

情報メモ注: このコンポーネントは、動的データベースコネクターの特定のバージョンです。データベース設定に関連するプロパティは、データベースタイプの選択に応じて異なります。動的データベースコネクターについては、[DB Genericコンポーネント](https://help.qlik.com/talend/r/ja-JP/8.0/components/db-generic/db-generic-component)をご覧ください。

情報メモ注: ESB用にジョブをOSGIバンドルとしてビルドする場合、SQL Serverコンポーネントで使われるMS SQL Serverドライバーであるjtdsとmssql-jdbcは、ビルドアーティファクトには含まれていません。 Talend Runtimeでアーティファクトを実行する場合は、これらのドライバーを&lt;TalendRuntimePath&gt;/libフォルダーにコピーして手動でデプロイし、 Talend Runtimeを再起動する必要があります。

## 基本設定

| プロパティ | 説明 |
| --- | --- |
| データベース | 目的のデータベースタイプをリストから選択し、[Apply] (適用)をクリックします。 |
| [Property type] (プロパティタイプ) | [Built-in] (組み込み)と[Repository] (リポジトリー)のいずれかです。<br><br><ul> <li> <span>[Built-in] (組み込み)</span>: 一元的に保存されるプロパティデータはありません。</li> <li> <span>[Repository] (リポジトリー)</span>: プロパティが保管されるリポジトリーファイルを選択します。後続フィールドは、取得されたデータを使用して自動的に入力されます。</li> </ul> |
| [JDBC Provider] (JDBCプロバイダー) | 使うJDBCドライバーのプロバイダー、[Microsoft] (マイクロソフト) (デフォルト、推奨)または[Open source JTDS] (オープンソースJTDS)を選択します。<br><br>Microsoftを選択した場合は、SQL Server用Microsoft JDBCドライバーを[\[Microsoftダウンロードセンター\]](https://www.microsoft.com/en-us/download/details.aspx?id=11774)からダウンロードし、ダウンロードしたzipファイルを解凍し、解凍したフォルダーからお使いのJREバージョンに基づいてjarを選択し、jarの名前を*mssql-jdbc.jar*に変更し、手動でインストールする必要があります。jarの選択については、[Microsoftダウンロードセンター](https://www.microsoft.com/en-us/download/details.aspx?id=11774)でシステム要件情報をご覧ください。<br><br>OSGiビルドには、オープンソースのjTDSJDBCドライバーが含まれないことにご注意ください。このコンポーネントが含まれているジョブをOSGiバンドルとしてビルドする必要がある時は、Microsoftの公式JDBCドライバーを使用してください。このドライバーを使用しない場合、このコンポーネントは、 Talend Runtimeに正しくインストールされたjTDSJDBCドライバーを使用するデータソースでのみ機能します。 |
| [Host] (ホスト) | 使うデータベースサーバーかAzure Synapse AnalyticsのIPアドレスまたはホスト名を指定します。<br><br>サーバーが存在するマシンでSQL Server Browserサービスが実行中である場合は、このフィールドにホスト名とインスタンス名を{host\_name}\{instance\_name}という形式で指定すれば、TCPダイナミックポートを通じてネームドインスタンスに接続できるようになります。この場合は[Port] (ポート)フィールドを空白のまましておきます。関連情報は、[SQL Server Browser service](https://docs.microsoft.com/ja-jp/sql/tools/configuration-manager/sql-server-browser-service?view=sql-server-ver16)をご覧ください。 |
| [Port] (ポート) | 使うデータベースサーバーかAzure Synapse Analyticsのリスニングポート番号を入力します。<br><br>サーバーが存在するマシンでSQL Server Browserサービスが実行中である場合は、[Host] (ホスト)フィールドにホスト名とインスタンス名を入力し、このフィールドを空にしておけば、TCPダイナミックポートを通じてネームドインスタンスに接続できるようになります。関連情報は、[SQL Server Browser service](https://docs.microsoft.com/ja-jp/sql/tools/configuration-manager/sql-server-browser-service?view=sql-server-ver16)をご覧ください。 |
| スキーマ | データベーススキーマの名前を入力します。 |
| データベース | データベースの名前を入力します。 |
| [Username] (ユーザー名)と[Password] (パスワード) | 認証データを入力します。<br><br>パスワードを入力するためには、[Password] (パスワード)フィールドの横にある[...]ボタンをクリックし、ポップアップダイアログボックスにパスワードを二重引用符で囲んで入力して[OK]をクリックし、設定を保存します。<br><br>[Additional JDBC Parameters] (追加のJDBCパラメーター)フィールドにintegratedSecurity=trueを追加し、これら2つのフィールドを空にしておけば、Windowsで[Type 2 integrated authentication] (タイプ2のインテグレーション認証)を使用できるようになります。関連情報は、[Building the connection URL](https://docs.microsoft.com/en-us/sql/connect/jdbc/building-the-connection-url?redirectedfrom=MSDN)で*Connecting with integrated authentication On Windows*というセクションをご覧ください。 |
| [Additional JDBC parameters] (追加のJDBCパラメーター) | 作成するデータベース接続に接続の追加プロパティを指定します。プロパティはセミコロンで区切られ、各プロパティはキー-値ペアです。たとえばAzure SQLデータベース接続の場合は、*encrypt=true;trustServerCertificate=false;* *hostNameInCertificate=\*.database.windows.net;loginTimeout=30;*となります。 |
| [Use or register a shared DB Connection] (共有データベース接続を使用または登録) | このチェックボックスを選択して、データベース接続の共有、または親もしくは子ジョブによって共有されているデータベース接続の取得を行い、[Shared DB Connection Name] (共有データベース接続名)フィールドが表示されたら、共有データベース接続の名前を入力します。これにより、1つのデータベース接続(データベーススキーマの設定は除く)を複数のデータベース接続コンポーネントの間で共有できます。ジョブレベルが異なっていても、親と子のどちらであっても可能です。<br><br>このオプションは、tRunJobコンポーネントの[Use dynamic Job] (ダイナミックジョブを使用)および[Use an independent process to run subJob] (サブジョブを独立したプロセスで実行)オプションには対応していません。いずれかのオプションを有効にしてtRunJobコンポーネントで共有接続を使用すると、ジョブが失敗する原因となります。<br><br>このチェックボックスは、[Specify a data source alias] (データソースエイリアスを指定)チェックボックスがオンになっている場合は利用できません。 |
| [Specify a data source alias] (データソースエイリアスを指定) | このチェックボックスを選択し、データソース設定で定義した共有接続プールを使用するために、 *Talend Runtime* 側で作成したデータソースのエイリアスを指定します。このオプションは、 *Talend Runtime* 内にジョブをデプロイして実行する時にのみ機能します。<br><br>このチェックボックスは、[Use or register a shared DB Connection] (共有データベース接続を使用または登録)チェックボックスがオンになっている場合は表示されません。 |
| [Data source alias] (データソースエイリアス) | *Talend Runtime* 側で作成したデータソースのエイリアスを入力します。<br><br>このフィールドは、[Specify a data source alias] (データソースエイリアスを指定)チェックボックスがオンの時のみ利用可能です。 |

## 詳細設定

| プロパティ | 説明 |
| --- | --- |
| [Authenticate using Azure Active Directory] (Azure Active Directoryを使って認証) | このオプションを選択すると、接続を確立する時にAzure Active Directory認証を使用できます。関連情報は、[Azure AD Authentication](https://docs.microsoft.com/en-us/azure/sql-database/sql-database-aad-authentication)をご覧ください。<br><br>このオプションは、[Basic settings] (基本設定)ビューの[JDBC Provider] (JDBCプロバイダー)ドロップダウンリストからMicrosoftが選択されている場合のみ利用できます。 |
| [Enable always encrypted (Column encryption)] (常に暗号化を有効にする(カラムの暗号化)) | このオプションを選択すると、Microsoftの[Always encrypted](https://learn.microsoft.com/en-us/sql/relational-databases/security/encryption/always-encrypted-database-engine?view=sql-server-ver15)機能が使用され、データが暗号化および保護されます。このオプションを使用するためには、事前に[Azure Key Vault](https://learn.microsoft.com/en-us/azure/key-vault/general/basic-concepts)でシークレットを保存しておく必要があります:<br><br><ul> <li> <span>[Application Client ID] (アプリケーションクライアントID)</span>: 登録済みアプリケーションのクライアントIDを入力します。この情報は、<span><span>Azure Active Directory</span> &gt; <span>[App registrations] (アプリの登録)</span> &gt; <span>[Essentials] (基本)</span></span>の下にあるアプリの詳細に記載されています。</li> <li> <span>[Application Client Secret] (アプリケーションクライアントシークレット)</span>: 登録済みアプリケーションのクライアントパスワードを入力します。この情報は、<span><span>Azure Active Directory</span> &gt; <span>[App registrations] (アプリの登録)</span> &gt; <span>[Certificates and secrets] (証明書とシークレット)</span></span>の下にあるアプリの詳細に記載されています。</li> </ul><br><br>この機能には、クエリー操作とステートメントに関する制限がいくつか適用されます。制限事項の包括的なリストは、[Microsoft SQL Serverのドキュメンテーション](https://learn.microsoft.com/en-us/sql/relational-databases/security/encryption/always-encrypted-database-engine?view=sql-server-ver15#limitations)をご覧ください。 |
| [Auto Commit] (自動コミット) | トランザクションの実行時に変更が自動的にデータベースにコミットされるようにする場合は、このチェックボックスを選択します。<br><br>このチェックボックスがオンの場合は、対応するコミットコンポーネントを使用して変更をデータベースにコミットできません。同様に、対応するコミットコンポーネントの使用中は、このチェックボックスをオフにしておく必要があります。デフォルトでは、自動コミットファンクションは無効になっており、変更は対応するコミットコンポーネントを使用して明示的にコミットする必要があります。<br><br>自動コミットファンクションは、各SQLステートメントを実行の直後に1回のトランザクションとしてコミットしますが、コミットコンポーネントは、すべてのステートメントが実行されるまでコミットしません。このため、ジョブ内でトランザクションの管理にゆとりを必要とする場合は、コミットコンポーネントの使用を推奨します。 |
| [Share identity insert in multi table] (複数テーブル内のID挿入を共有) | 同じデータベース接続を通じてデータを受け入れる複数のMicrosoft SQLテーブルの間でIDENTITY\_INSERTを共有するには、このチェックボックスをオンにします。<br><br>このオプションは、データベース接続を通じてMicrosoft SQLテーブルを書き込む時にIENTITY\_INSERTをON (またはOFF)に繰り返し設定することで生じるエラーを防ぐことができます。[Basic settings] (基本設定)タブで[Turn on Identity insert] (ID挿入をオンにする)オプションをオンにした状態で、このコンポーネントを複数のtMSSqlOutputコンポーネントと共に使用する場合は、このオプションをオンにする必要があります。<br><br>このオプションをオンにすると実行速度が低下する場合があります。 |
| [tStatCatcher Statistics] (tStatCatcher統計) | このチェックボックスを選択すると、ジョブレベルやコンポーネントレベルでジョブ処理メタデータが収集されます。 |

## 使用方法

| 使用方法のガイダンス | 説明 |
| --- | --- |
| **使用ルール** | このコンポーネントは、一般的に、他の[tMSSql\*]コンポーネント、特にtMSSqlCommitおよびtMSSqlRollbackコンポーネントと共に使用されます。 |
| 制限事項 | ライセンスの互換性の問題のため、このコンポーネントの使用に必要な1つ以上のJARが提供されていません。この特定のコンポーネントに不足しているJARをインストールするには、Component (コンポーネント)タブビューの[Install] (インストール)ボタンをクリックします。Talend StudioのIntegrationパースペクティブにある[Modules] (モジュール)タブでも、不足しているすべてのJARを簡単に見つけて追加できます。詳細は、[外部モジュールをインストール](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/installing-external-modules)をご覧ください。 |

**関連概念**

[データベーステーブルにデータを挿入し、そこから有用な情報を抽出する](https://help.qlik.com/talend/ja-JP/components/8.0/mssql/tmssqlinput-tmssqloutput-tlogrow-inserting-data-into-database-table-and-extracting-useful-information-from-it-standard-component-the)