共用方式為


OLE DB 命令轉換

更新: 2006 年 12 月 12 日

OLE DB 命令轉換為資料流程中每個資料列執行 SQL 陳述式。例如,可以執行在資料庫資料表中插入、更新或刪除資料列的 SQL 陳述式。

您可以利用下列方式設定 OLE DB 命令轉換:

  • 提供轉換為每個資料列執行的 SQL 陳述式。
  • 指定 SQL 陳述式逾時之前的秒數。
  • 指定預設字碼頁。

SQL 陳述式通常包含參數。參數值儲存在轉換輸入的外部資料行內,且將輸入資料行對應到外部資料行會將其同時對應到參數。例如,若要利用資料列在 ProductKey 資料行中的值找到 DimProduct 資料表中的資料列,然後予以刪除,您可以將名為 Param_0 的外部資料行對應到名為 ProductKey 的輸入資料行,然後執行 SQL 陳述式 DELETE FROM DimProduct WHERE ProductKey = ?。OLE DB 命令轉換提供了參數名稱,您無法對它們進行修改。這些參數名稱為 Param_0Param_1 等。

如果您使用 [進階編輯器] 對話方塊設定 OLE DB 命令轉換,SQL 陳述式中的參數可自動對應到轉換輸入的外部資料行上,按一下 [重新整理] 按鈕可以定義每個參數的特性。但是,如果 OLE DB 命令轉換使用的 OLE DB 提供者不支援從參數中衍生參數資訊,您必須手動設定外部資料行。這表示您必須將每個參數的資料行加入轉換的外部輸入,更新資料行名稱以使用類似 Param_0 的名稱,指定 DBParamInfoFlags 屬性的值,並將包含參數值的輸入資料行對應到外部資料行。

DBParamInfoFlags 的值代表參數的特性。例如,值 1 指定參數為輸入參數,值 65 指定參數為可以包含 Null 值的輸入參數。該值必須與 OLE DB DBPARAMFLAGSENUM 列舉中的值相符。如需詳細資訊,請參閱 OLE DB 參考文件集。

OLE DB 命令轉換包括 SQLCommand 自訂屬性。屬性運算式可以在載入封裝時更新這個屬性。如需詳細資訊,請參閱<Integration Services 運算式參考>、<在封裝中使用屬性運算式>和<Transformation Custom Properties>。

這個轉換有一個輸入、一個規則輸出及一個錯誤輸出。

疑難排解 OLE DB 命令轉換

從 Microsoft SQL Server 2005 Service Pack 2 (SP2) 開始,您將能夠記錄 OLE DB 命令轉換對外部資料提供者執行的呼叫。您可以使用這項新的記錄功能,疑難排解 OLE DB 命令轉換對外部資料來源執行的連接和命令。若要記錄 OLE DB 命令轉換對外部資料提供者執行的呼叫,請啟用封裝記錄,然後在封裝層級選取 [診斷] 事件。如需詳細資訊,請參閱<疑難排解封裝執行>。

設定 OLE DB 命令轉換

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

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

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

請參閱

概念

建立封裝資料流程
Integration Services 轉換

說明及資訊

取得 SQL Server 2005 協助

變更歷程記錄

版本 歷程記錄

2006 年 12 月 12 日

新增內容:
  • 新增資訊,說明 SQL Server 2005 SP2 如何包括新的記錄訊息,讓使用者能夠疑難排解轉換對外部資料提供者執行的呼叫。

2005 年 12 月 5 日

新增內容:
  • 新增有關搭配使用屬性運算式與 SQLCommand 自訂屬性的資訊。