共用方式為


OLE DB 目的地

OLE DB 目的地會使用資料庫的資料表、檢視或 SQL 命令將資料載入各種符合 OLE DB 標準的資料庫。例如,OLE DB 來源可以將資料載入至 Microsoft Office Access 和 SQL Server 資料庫的資料表中。

[!附註]

如果資料來源為 Microsoft Office Excel 2007,則資料來源需要舊版 Excel 以外的連接管理員。如需詳細資訊,請參閱<如何:連接至 Excel 活頁簿>。

OLE DB 目的地提供用於載入資料的五種不同資料存取模式:

  • 資料表或檢視。您可以指定現有的資料表或檢視,或者建立新資料表。

  • 使用快速載入選項的資料表或檢視。您可以指定現有的資料表,也可以新建資料表。

  • 在變數中指定的資料表或檢視。

  • 在變數中指定之使用快速載入選項的資料表或檢視。

  • SQL 陳述式的結果。

[!附註]

OLE DB 目的地不支援參數。如果需要執行參數化 INSERT 陳述式,請考慮 OLE DB 命令轉換。如需詳細資訊,請參閱<OLE DB 命令轉換>。

當 OLE DB 目的地載入使用雙位元組字元集 (DBCS) 的資料時,如果資料存取模式未使用快速載入選項,而 OLE DB 連接管理員使用 Microsoft OLE DB Provider for SQL Server (SQLOLEDB),則資料可能會損毀。若要確定 DBCS 資料的完整性,您應該將 OLE DB 連接管理員設定為使用 SQL Server Native Client,或使用下列其中一個快速載入存取模式:[資料表或檢視表 - 快速載入][資料表名稱或檢視名稱變數 - 快速載入]。兩個選項在 [OLE DB 目的地編輯器] 對話方塊中都可用。在進行 SSIS 物件模型的程式設計時,您應該將 AccessMode 屬性設定為 OpenRowset Using FastLoad 或 OpenRowset Using FastLoad From Variable。

[!附註]

如果使用「SSIS 設計師」中的 [OLE DB 目的地編輯器] 對話方塊來建立 OLE DB 目的地插入資料的目的地資料表,則您可能必須手動選取新建立的資料表。當 OLE DB 提供者 (例如 DB2 的 OLE DB 提供者) 自動將結構描述識別碼加入資料表名稱時,需進行手動選取。

[!附註]

視目的地類型而定,[OLE DB 目的地編輯器] 對話方塊產生的 CREATE TABLE 陳述式可能需要進行修改。例如,某些目的地並不支援 CREATE TABLE 陳述式所使用的資料類型。

此目的地使用 OLE DB 連接管理員連接到資料來源,且連接管理員會指定要使用的 OLE DB 提供者。如需詳細資訊,請參閱<OLE DB 連接管理員>。

Integration Services 專案亦提供您建立 OLE DB 連接管理員所在的資料來源物件,讓 OLE DB 目的地使用資料來源和資料來源檢視。如需詳細資訊,請參閱<資料來源 (SSIS)>和<資料來源檢視 (SSIS)>。

OLE DB 目的地包含輸入資料行與目的地資料來源中資料行之間的對應。您不一定要將輸入資料行對應到所有目的地資料行,但因目的地資料行屬性的不同,如果輸入資料行未對應到目的地資料行,則可能發生錯誤。例如,如果目的地資料行不允許 Null 值,則輸入資料行必須對應到該資料行。此外,對應的資料行之資料類型必須相容。例如,您不能將字串資料類型的輸入資料行對應到數值資料類型的目的地資料行。

OLE DB 目的地具有一個規則輸入和一個錯誤輸出。

如需有關資料類型的詳細資訊,請參閱<Integration Services 資料類型>。

快速載入選項

如果 OLE DB 目的地使用快速載入資料存取模式,則您可以在使用者介面 [OLE DB 目的地編輯器] 中為目的地指定下列快速載入選項:

  • 保留匯入資料檔中的識別值或使用 SQL Server 指派的唯一值。

  • 大量載入作業期間保留 Null 值。

  • 大量匯入作業期間檢查目標資料表或檢視的條件約束。

  • 大量載入作業期間需要資料表層級鎖定。

  • 指定批次中的資料列數目以及認可大小。

部分快速載入選項儲存在 OLE DB 目的地的特定屬性中。例如,FastLoadKeepIdentity 指定是否要保留識別值、FastLoadKeepNulls 指定是否要保留 Null 值,而 FastLoadMaxInsertCommitSize 則指定要認可為批次的資料列數目。其他快速載入選項儲存在 FastLoadOptions 屬性的逗號分隔清單中。如果 OLE DB 目的地使用儲存在 FastLoadOptions 及列在 [OLE DB 目的地編輯器] 對話方塊中的所有快速載入選項,屬性的值便會設定為 TABLOCK, CHECK_CONSTRAINTS, ROWS_PER_BATCH=1000。1000 值代表目的地設定為使用 1000 列的批次。

[!附註]

目的地的任何條件約束失敗都會使 FastLoadMaxInsertCommitSize 所定義的整個資料列批次失敗。

除了 [OLE DB 目的地編輯器] 對話方塊中公開的快速載入選項以外,您還可以在 [進階編輯器] 對話方塊的 FastLoadOptions 屬性中輸入選項,將 OLE DB 目的地設定為使用下列大量載入選項。

快速載入選項

描述

KILOBYTES_PER_BATCH

指定要插入的大小 (以 KB 為單位)。選項的格式為 KILOBYTES_PER_BATCH = <正整數值>

FIRE_TRIGGERS

指定觸發程序是否在插入資料表上引發。選項的格式為 FIRE_TRIGGERS。選項的存在代表觸發程序會引發。

ORDER

指定如何儲存輸入資料。選項的格式為 ORDER <資料行名稱> ASC|DESC。可以列出任何數目的資料行,也可以選擇包含排序順序。如果省略排序順序,大量插入作業會假設資料沒有排序。

附註附註
如果您使用 ORDER 選項依照資料表的叢集索引排序輸入資料,將可改善效能。如需有關 ORDER 選項重要性的詳細資訊,請參閱<控制大量匯入資料時的排序順序

Transact-SQL 關鍵字通常是以大寫字母輸入,但是這些關鍵字並不區分大小寫。

若要了解有關快速載入選項的詳細資訊,請參閱<BULK INSERT (Transact-SQL)>。

疑難排解 OLE DB 目的地

您可以記錄 OLE DB 目的地對外部資料提供者執行的呼叫。您可以使用這項記錄功能,針對 OLE DB 目的地所執行的將資料儲存至外部資料來源的作業進行疑難排解。若要記錄 OLE DB 目的地對外部資料提供者執行的呼叫,請啟用封裝記錄,然後在封裝層級選取 [診斷] 事件。如需詳細資訊,請參閱<疑難排解封裝執行>。

設定 OLE DB 目的地

您可以透過「SSIS 設計師」或以程式設計的方式來設定屬性。

如需有關可以在 [OLE DB 目的地編輯器] 對話方塊中設定之屬性的詳細資訊,請按下列其中一個主題:

[進階編輯器] 對話方塊會反映能以程式設計的方式設定之屬性。如需有關可以在 [進階編輯器] 對話方塊中或利用程式設定之屬性的詳細資訊,請按一下下列主題之一:

如需有關如何設定屬性的詳細資訊,請按一下下列其中一個主題:

Integration Services 圖示 (小) 掌握 Integration Services 的最新狀態

若要取得 Microsoft 的最新下載、文件、範例和影片以及社群中的選定解決方案,請瀏覽 MSDN 或 TechNet 上的 Integration Services 頁面:

若要得到這些更新的自動通知,請訂閱該頁面上所提供的 RSS 摘要。