連接到指令碼元件中的資料來源

連接管理員只是一種便利的單位,用以封裝和儲存連接至特定類型的資料來源所需的資訊。 如需詳細資訊,請參閱 Integration Services (SSIS) 連線

您可以在 [指令碼轉換編輯器] 的 [連線管理員] 頁面上,按一下 [加入] 與 [移除] 按鈕,讓來源或目的地元件中的自訂指令碼可以存取現有的連線管理員。 不過,您必須撰寫自己的自訂程式碼,以載入或是儲存資料,以及 (可能的話) 開啟和關閉連至資料來源的連接。 如需 [指令碼轉換編輯器] 之 [連線管理員] 頁面的詳細資訊,請參閱在指令碼元件編輯器中設定指令碼元件指令碼轉換編輯器 (連線管理員頁面)

腳本元件會在ConnectionsComponentWrapper項目專案中建立集合類別,其中包含與連接管理員本身名稱相同的每個連接管理員的強型別存取子。 這個集合是透過 Connections 類別的 ScriptMain 屬性公開。 存取子屬性會傳回連接管理員的參考,以做為 IDTSConnectionManager100 的執行個體。 例如,如果您已在對話方塊的 [連接管理員] 頁面中加入名為 MyADONETConnection 的連接管理員,就可以加入下列程式碼,取得指令碼中該連接管理員的參考:

Dim myADONETConnectionManager As IDTSConnectionManager100 = _

Me.Connections.MyADONETConnection

注意

在呼叫 AcquireConnection之前,您必須先知道連接管理員傳回的連接類型。 因為腳本工作已啟用 Option Strict ,所以您必須將傳回為 類型 Object的連接轉換為適當的連接類型,才能使用它。

接下來,您會呼叫 AcquireConnection 特定連接管理員的 方法,以取得基礎連接或連接到數據源所需的資訊。 例如,您透過使用下列程式碼取得 ADO.NET 連線管理員所包裝的 System.Data.SqlConnection 之參考:

Dim myADOConnection As SqlConnection = _

CType(MyADONETConnectionManager.AcquireConnection(Nothing), SqlConnection)

相反的,對於一般檔案連接管理員的相同呼叫,只會傳回檔案資料來源的路徑與檔案名稱。

Dim myFlatFile As String = _

CType(MyFlatFileConnectionManager.AcquireConnection(Nothing), String)

然後,您必須將此路徑和檔名 System.IO.StreamReader 提供給 或 Streamwriter ,以讀取或寫入一般檔案中的數據。

重要

當您在指令碼元件中撰寫 Managed 程式碼時,無法呼叫傳回 Unmanaged 物件之連線管理員的 AcquireConnection 方法,例如 OLE DB 連線管理員與 Excel 連線管理員。 不過,您可以讀取這些連線管理員的 ConnectionString 屬性,而且可以透過使用來自 System.Data.OleDb 命名空間的 OLEDB 連接之連接字串,直接在程式碼中連接至資料來源。

如果您需要呼叫會傳回 Unmanaged 物件之連線管理員的 AcquireConnection 方法,請使用 ADO.NET 連線管理員。 當您設定 ADO.NET 連接管理員以使用 OLE DB 提供者時,它會透過使用 .NET Framework Data Provider for OLE DB 來連接。 在此情況下,AcquireConnection 方法會 System.Data.OleDb.OleDbConnection 傳回 而非 Unmanaged 物件。 若要將 ADO.NET 連線管理員設定成與 Excel 資料來源搭配使用,請選取 Microsoft OLE DB Provider for Jet,指定 Excel 活頁簿,然後在 [連線管理員] 對話方塊的 [全部] 頁面上輸入 Excel 8.0 (針對 Excel 97 和更新的版本),作為 [擴充屬性] 的值。

如需如何透過指令碼元件使用連線管理員的詳細資訊,請參閱以指令碼元件建立來源以指令碼元件建立目的地

Integration Services 圖示 (小型) 使用 Integration Services 保持最新狀態
如需來自Microsoft的最新下載、文章、範例和影片,以及來自社群的所選解決方案,請流覽 MSDN 上的 Integration Services 頁面:

流覽 MSDN 上的 Integration Services 頁面

如需這些更新的自動通知,請訂閱頁面上可用的 RSS 摘要。

另請參閱

Integration Services (SSIS) 連接
建立連線管理員