ADO NET ソース
適用対象: SQL Server
Azure Data Factory の SSIS Integration Runtime
ADO NET ソースは .NET プロバイダーのデータを呼び出し、そのデータをデータ フローで使用できるようにします。
ADO NET ソースを使用して Microsoft Azure SQL データベース に接続できます。 OLE DB を使用した SQL Database への接続はサポートされていません。 SQL Database の詳細については、「一般的な制限事項とガイドライン (Azure SQL Database)」を参照してください。
データ型のサポート
ソースは、特定の Integration Services データ型にマップされないデータ型を DT_NTEXT Integration Services データ型に変換します。 この変換はデータ型が System.Objectである場合でも行われます。
DT_NTEXT データ型から DT_WSTR データ型に、または DT_WSTR データ型から DT_NTEXT データ型に変更できます。 データ型を変更するには、ADO NET ソースの [詳細エディター] ダイアログ ボックスで DataType プロパティを設定します。 詳細については、「 Common Properties」(共通プロパティ) を参照してください。
ADO NET ソースの後にデータ変換の変換を使用することによって、DT_NTEXT データ型を DT_BYTES データ型または DT_STR データ型に変換することもできます。 詳細については、「 Data Conversion Transformation」を参照してください。
Integration Servicesでは、日付データ型 DT_DBDATE、DT_DBTIME2、DT_DBTIMESTAMP2、および DT_DBTIMESTAMPOFFSET は SQL Serverの特定の日付データ型にマップされます。 ADO NET ソースを構成して、 SQL Server が使用する日付データ型を Integration Services が使用する日付データ型に変換できます。 このような日付データ型を変換する ADO NET ソースを構成するには、 接続マネージャーの Type System Version ADO.NET プロパティを [最新] に設定します (Type System Version プロパティは、[接続マネージャー] ダイアログ ボックスの [すべて] ページにあります。[接続マネージャー] ダイアログ ボックスを開くには、ADO.NET 接続マネージャーを右クリックし、[編集] をクリックします)
Note
接続マネージャーの Type System Version ADO.NET プロパティが [SQL Server 2005] に設定されていると、 SQL Server 日付データ型は DT_WSTR に変換されます。
Integration Services 接続マネージャーで、プロバイダーを .NET Data Provider for ADO.NET (SqlClient) と指定すると、システムはユーザー定義データ型 (UDT) は SQL Server バイナリ ラージ オブジェクト (BLOB) に変換されます。 UDT データ型の変換時には、次の規則が適用されます。
データが大きくない UDT の場合、データは DT_BYTES に変換されます。
データが大きくない UDT の場合、データベースの列の [長さ] プロパティは -1 または 8,000 バイトより大きい値に設定され、データは DT_IMAGE に変換されます。
データが大きい UDT の場合、データは DT_IMAGE に変換されます。
Note
ADO NET ソースがエラー出力を使用するように構成されていない場合、データは DT_IMAGE 列に 8,000 バイトのチャンク単位でストリームされます。 ADO NET ソースがエラー出力を使用するように構成されている場合、バイトの配列全体が DT_IMAGE 列に渡されます。 エラー出力を使用するコンポーネントを構成する方法の詳細については、「 Error Handling in Data」(データのエラー処理) を参照してください。
Integration Services データ型、サポートされるデータ型変換、 SQL Serverを含む特定のデータベース間でのデータ型マッピングの詳細については、「 Integration Services のデータ型」を参照してください。
Integration Services データ型をマネージド データ型にマッピングする方法については、「データ フロー内のデータ型の処理」を参照してください。
ADO NET ソースのトラブルシューティング
ADO NET ソースによる外部データ プロバイダーの呼び出しをログに記録できます。 このログ機能を使用すると、ADO NET ソースによる外部データ ソースからのデータ読み込みに関するトラブルシューティングを行うことができます。 ADO NET ソースによる外部データ プロバイダーの呼び出しのログを記録するには、パッケージ ログ記録を有効にして、パッケージ レベルで Diagnostic イベントを選択します。 詳細については、「 パッケージ実行のトラブルシューティング ツール」を参照してください。
ADO NET ソースの構成
ADO NET ソースを構成するには、結果セットを定義する SQL ステートメントを使用します。 たとえば、 AdventureWorks2022
データベースに接続し、SQL ステートメント SELECT * FROM Production.Product
を使用する ADO NET ソースは、 Production.Product テーブルのすべての行を抽出し、データセットを下流コンポーネントに提供します。
Note
SQL ステートメントを使用して、一時テーブルから結果を返すストアド プロシージャが呼び出す場合は、WITH RESULT SETS オプションを使用して結果セットのメタデータを定義します。
Note
SQL ステートメントを使用してストアド プロシージャを実行する際に、パッケージが次のエラーで失敗した場合は、EXEC ステートメントの前に SET FMTONLY OFF ステートメントを追加すると、エラーを解決できることがあります。
列 <column_name> がデータ ソースに見つかりません。
ADO NET ソースは ADO.NET 接続マネージャーを使用してデータ ソースに接続します。この接続マネージャーは .NET プロバイダーを指定します。 詳細については、「 ADO.NET Connection Manager」(ADO.NET 接続マネージャー) を参照してください。
ADO NET ソースは、1 つの標準出力と 1 つのエラー出力をとります。
プロパティを設定するには SSIS デザイナーから行うか、またはプログラムによって設定します。
[詳細エディター] ダイアログ ボックスまたはプログラムで設定できるプロパティの詳細については、次のトピックのいずれかを参照してください。
プロパティの設定方法の詳細については、「 データ フロー コンポーネントのプロパティを設定する」を参照してください。
[ADO NET 変換元エディター] ([接続マネージャー] ページ)
[ADO NET 変換元エディター] ダイアログ ボックスの [接続マネージャー] ページを使用すると、変換元の ADO.NET 接続マネージャーを選択できます。 さらにこのページを使用して、データベースのテーブルやビューを選択できます。
ADO NET 変換元の詳細については、「 ADO NET Source」を参照してください。
[接続マネージャー] ページを開くには
SQL Server Data Tools (SSDT)で、ADO NET 変換元を含む Integration Services パッケージを開きます。
[データ フロー] タブで、ADO NET 変換元をダブルクリックします。
[ADO NET 変換元エディター] で、 [接続マネージャー] をクリックします。
静的オプション
ADO.NET 接続マネージャー
既存の接続マネージャーを一覧から選択するか、 [新規作成] をクリックして新しい接続を作成します。
[新規作成]
[ADO.NET の接続マネージャーの構成] ダイアログ ボックスを使用して、新しい接続マネージャーを作成します。
[データ アクセス モード]
ソースからデータを選択する方法を指定します。
オプション | 説明 |
---|---|
[テーブルまたはビュー] | ADO.NET データ ソースのテーブルまたはビューからデータを取得します。 |
[SQL コマンド] | SQL クエリを使用して、 ADO.NET データ ソースからデータを取得します。 |
プレビュー
[データ ビュー] ダイアログ ボックスを使用して、結果をプレビューします。 プレビュー では、最大で 200 行を表示できます。
Note
データをプレビューするときに、CLR ユーザー定義型を含む列にはデータが表示されません。 その代わりに、<値が大きすぎて表示できません> または System.Byte[] が値として表示されます。 前者は、 ADO.NET プロバイダーを使用してデータ ソースにアクセスする場合に表示されます。後者は、 SQL Server Native Client プロバイダーを使用している場合に表示されます。
データ アクセス モードの動的オプション
[データ アクセス モード] = [テーブルまたはビュー]
[テーブル名またはビュー名]
データ ソースで使用できるテーブルまたはビューの一覧から、テーブルまたはビューの名前を選択します。
[データ アクセス モード] = [SQL コマンド]
[SQL コマンド テキスト]
SQL クエリのテキストを入力し、 [クエリの作成] をクリックしてクエリを作成するか、 [参照] をクリックしてクエリ テキストを含むファイルを指定します。
[クエリの作成]
SQL クエリを視覚的に作成するには、 [クエリ ビルダー] ダイアログ ボックスを使用します。
[参照]
[開く] ダイアログ ボックスを使用して、SQL クエリのテキストが含まれているファイルを指定します。
[ADO NET 変換元エディター] ([列] ページ)
[ADO NET 変換元エディター] ダイアログ ボックスの [列] ページを使用すると、出力列をそれぞれの外部 (変換元) 列にマップできます。
ADO NET 変換元の詳細については、「 ADO NET Source」を参照してください。
[列] ページを開くには
SQL Server Data Tools (SSDT)で、ADO NET 変換元を含む Integration Services パッケージを開きます。
[データ フロー] タブで、ADO NET 変換元をダブルクリックします。
[ADO NET 変換元エディター] で、 [列] をクリックします。
Options
使用できる外部列
データ ソース内の使用できる外部列の一覧を表示します。 このテーブルを使用して列を追加または削除することはできません。
[外部列]
ここで表示される外部 (変換元) 列の順序は、この変換元のデータを使用するコンポーネントを構成するときの列の表示順に反映されます。
出力列
各出力列の一意な名前を表示します。 既定では選択された外部 (変換元) 列の名前になりますが、一意でわかりやすい名前を付けることもできます。 指定された名前は、SSIS デザイナーに表示されます。
[ADO NET 変換元エディター] ([エラー出力] ページ)
[ADO NET 変換元エディター] ダイアログ ボックスの [エラー出力] ページを使用すると、エラー処理オプションを選択したり、エラー出力列のプロパティを設定したりできます。
ADO NET 変換元の詳細については、「 ADO NET Source」を参照してください。
[エラー出力] ページを開くには
SQL Server Data Tools (SSDT)で、ADO NET 変換元を含む Integration Services パッケージを開きます。
[データ フロー] タブで、ADO NET 変換元をダブルクリックします。
[ADO NET 変換元エディター] で、 [エラー出力] をクリックします。
Options
[入力または出力]
データ ソースの名前を表示します。
列
[ADO NET 変換元エディター] ダイアログ ボックスの [接続マネージャー] ページで選択した外部 (変換元) 列を表示します。
Error
エラーが発生した場合に、障害を無視するか、行をリダイレクトするか、コンポーネントを失敗させるかを指定します。
関連項目: データのエラー処理
切り捨て
切り捨てが発生したときの処理方法 (エラーを無視する、行をリダイレクトする、またはコンポーネントを失敗させる) を指定します。
説明
エラーの説明を表示します。
[選択したセルに設定する値]
エラーまたは切り捨てが発生した場合に、選択したすべてのセルに対して障害を無視するか、行をリダイレクトするか、コンポーネントを失敗させるかを指定します。
[適用]
選択したセルにエラー処理オプションを適用します。