使用者定義程式是指您建立的程式或供應商建立的程式。您可以為資料倉儲中心定義使用者定義程式,讓一或多個步驟可以使用該程式進行處理。如果您是在定義儲存程序,則必須確定目標資料庫中存在該儲存程序。如果您是在定義任何其它類型的程式,則必須在為資料倉儲中心定義程式之前,先將程式安裝到一或多個資料倉儲中心代理程式端。
為資料倉儲中心定義使用者定義程式之後,該程式定義即可當作「程序模型」視窗中的一個步驟使用。
使用者程式群組是指包含相關使用者定義程式的邏輯群組。為資料倉儲中心定義使用者定義程式之前,必須先建立使用者程式群組。
若要定義使用者程式群組,請:
若要為資料倉儲中心定義使用者定義程式,請:
schema.procedurename
在「程式」筆記本的「代理程式端」頁中,您必須選取程式安裝所在的代理程式端。
如果您在定義代理程式端時指定了使用者 ID 和通行碼,則程式會被當作使用者程序來執行。如果您未指定使用者 ID 和通行碼,則無論倉儲代理程式定義與否,程序都會執行。
您可以在同一個工作站上,將某些程式當作使用者程序來執行,而將另一些程式當作系統程序來執行。若要執行這個動作,您必須在工作站上定義兩個代理程式端:一個有使用者 ID 和通行碼,一個沒有。
如果您是在定義轉換程式,則必須確定此程式所結合的倉儲代理程式與轉換程式所在的資料庫相關。如果指定給這個程式定義的倉儲代理程式與此頁所指定的目標資料庫不相關,則您會在建立使用此程式的步驟時接收到警告。
例如,您有下列倉儲代理程式、來源及目標:
代理程式 | 來源 | 目標 |
代理程式 A | 來源 1 | 目標 1 |
|
| 目標 2 |
假設「代理程式 A」與「來源 1」和「目標 1」相關。現在,假設轉換程式存在於「目標 2」上。如果選擇轉換程式定義中的「代理程式 A」,則您在嘗試建立步驟時會接收到警告。會發出此警告是因為「代理程式 A」與包含轉換程式的目標不相關。
若要使用「代理程式 A」,您必須讓它與「目標 2」相關,或將此轉換程式儲存到「目標 1」,並將「目標 1」新增到目標資源定義:
如果您是在定義程式,請從可用的目標清單中選取儲存程序所在的目標,然後按一下新增。 即會將該目標的名稱移入選取的目標清單。
如需如何定義代理程式端的詳細資訊,請參閱定義代理程式端 線上說明。
在某些參數上,您可以使用預先定義的記號。 資料倉儲中心會將這些符記替換為它們所表示的值。例如,在步驟目標資源的資料庫名稱中有一個符記:&TDB。如果您在參數清單中併入該符記,則資料倉儲中心會提供一個資料庫名稱,該名稱是由包含步驟鏈結目標表格的倉儲目標筆記本所定義。符記可讓您根據使用程式的步驟來變更傳送的值。
如果您要使用者定義程式從使用該程式之步驟所鏈結的來源擷取資料,您可以在參數清單中併入 &STMT 符記。此符記會指示資料倉儲中心傳送定義給該程式步驟的 SELECT 陳述式。SELECT 陳述式會含括在雙引號內,作為一個指令行參數傳送給程式。任何內含引號都會含括在跳離字元內。如果 SELECT 陳述式太長,可能會與作業系統最大參數數目的準則發生衝突。
如需有預先定義符記之參數的完整清單,請參閱線上說明的"選取參數欄位與控制項"。
若要將系統參數或系統符記新增到程式定義,請:
選取的參數或符記會列示在「定義使用者程式」筆記本的「參數」頁上。
範例:您要定義 Windows NT 工作站上定期檢查檔案的使用者定義程式。您想要使用此程式來尋找另一個步驟要載入資料庫的檔案。
程式使用下列參數:
您可以使用「倉儲」目標檔名系統參數 (&TTBN) 來代表檔名。定義您自己的輪詢間隔與逾時間隔參數。