共用方式為


OLE DB 命令轉換

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 (SSIS) 運算式在套件中使用屬性運算式轉換自訂屬性

此轉換有一個輸入、一個一般輸出和一個錯誤輸出。

森林伐木業

您可以記錄 OLE DB 命令轉換對外部資料提供者所做的呼叫。 您可以使用這項記錄能力來針對 OLE DB 命令轉換執行的外部數據源的連線和命令進行疑難排解。 若要記錄 OLE DB 命令轉換對外部資料提供者所做的呼叫,請啟用封裝記錄,然後在封裝層級選取 [診斷 ] 事件。 如需詳細資訊,請參閱 封裝執行疑難解答工具

您可以使用 SSIS 設計工具或物件模型來設定轉換。 如需使用 SSIS 設計工具設定轉換的詳細資訊,請參閱 設定 OLE DB 命令轉換。 如需以程式設計方式設定此轉換的詳細資訊,請參閱開發人員指南。

另請參閱

數據流
Integration Services 轉換