スクリプト タスクでのデータ ソースへの接続
更新 : 2006 年 4 月 14 日
接続マネージャは、パッケージ内に構成されたデータ ソースへのアクセスを提供します。詳細については、「Integration Services の接続」および「接続マネージャ」を参照してください。
スクリプト タスクは、 Dts オブジェクトの Connections プロパティを介して、これらの接続マネージャにアクセスできます。Connections コレクション内の各接続マネージャは、基になるデータ ソースへの接続方法に関する情報を格納しています。
接続マネージャの AcquireConnection メソッドを呼び出すと、その接続マネージャがまだ接続されていない場合、データ ソースに接続され、ユーザーのスクリプト タスク コードで使用する適切な接続または接続情報が返されます。
メモ : |
---|
AcquireConnection を呼び出す前に、接続マネージャによって返される接続の種類を知っておく必要があります。スクリプト タスクでは Option Strict が有効なので、Object 型として返される接続は、使用する前に適切な種類の接続にキャストする必要があります。 |
Connections プロパティによって返される Connections コレクションの Contains メソッドを使用すると、既存の接続をコードで使用する前に検索できます。
重要 : |
---|
スクリプト タスクのマネージ コードでは、OLE DB 接続マネージャや Excel 接続マネージャなど、アンマネージ オブジェクトを返す接続マネージャの AcquireConnection メソッドを呼び出すことはできません。ただし、これらの接続マネージャの ConnectionString プロパティを読み取り、接続文字列を System.Data.OleDb 名前空間の OledbConnection と共に使用することにより、コード内でデータ ソースに直接接続することができます。
アンマネージ オブジェクトを返す接続マネージャの AcquireConnection メソッドを呼び出す必要がある場合は、ADO.NET 接続マネージャを使用してください。OLE DB プロバイダを使用するように ADO.NET 接続マネージャを構成すると、接続には .NET Framework Data Provider for OLE DB が使用されます。この場合、AcquireConnection メソッドは、アンマネージ オブジェクトではなく System.Data.OleDb.OleDbConnection を返します。ADO.NET 接続マネージャで Excel データ ソースを使用するように構成するには、Microsoft OLE DB Provider for Jet を選択して Excel ファイルを指定し、[接続マネージャ] ダイアログ ボックスの [すべて] ページにある [拡張プロパティ] の値に「Excel 8.0 」(Excel 97 以降の場合) と入力します。 |
接続の例
次の例では、スクリプト タスク内での接続マネージャへのアクセス方法を示します。この例では、Test ADO.NET Connection という名前の ADO.NET 接続マネージャ、および Test Flat File Connection という名前のフラット ファイル接続マネージャを作成して構成していることを前提としています。ADO.NET 接続マネージャは、データ ソースに接続するためにすぐに使用できる SqlConnection オブジェクトを返すことに注意してください。これに対し、フラット ファイル接続マネージャは、パスとファイル名が含まれる文字列のみを返します。フラット ファイルを開いて処理するには、System.IO 名前空間のメソッドを使用する必要があります。
Public Sub Main()
Dim myADONETConnection As SqlClient.SqlConnection
myADONETConnection = _
DirectCast(Dts.Connections("Test ADO.NET Connection").AcquireConnection(Dts.Transaction), _
SqlClient.SqlConnection)
MsgBox(myADONETConnection.ConnectionString, _
MsgBoxStyle.Information, "ADO.NET Connection")
Dim myFlatFileConnection As String
myFlatFileConnection = _
DirectCast(Dts.Connections("Test Flat File Connection").AcquireConnection(Dts.Transaction), _
String)
MsgBox(myFlatFileConnection, MsgBoxStyle.Information, "Flat File Connection")
Dts.TaskResult = Dts.Results.Success
End Sub
参照
その他の技術情報
Integration Services の接続
接続マネージャの作成
ヘルプおよび情報
変更履歴
リリース | 履歴 |
---|---|
2006 年 4 月 14 日 |
|