ADO NET ソース
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 ステートメントを使用します。 たとえば、AdventureWorks2012 データベースに接続し、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 デザイナーから行うか、またはプログラムによって設定します。
[詳細エディター] ダイアログ ボックスまたはプログラムで設定できるプロパティの詳細については、次のトピックのいずれかを参照してください。
プロパティの設定方法の詳細については、「 データ フロー コンポーネントのプロパティを設定する」を参照してください。