srv_paramdata (擴充預存程式 API)
適用於:SQL Server
重要
SQL Server 的未來版本將移除此功能。 請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。 請改用 CLR 整合。
傳回遠端預存過程調用參數的值。 此函式已由 srv_paraminfo 函式取代。
語法
void * srv_paramdata (
SRV_PROC *
srvproc
,
int
n
);
引數
srvproc
這是特定用戶端連接句柄之SRV_PROC結構的指標(在此案例中,接收遠端預存過程調用的句柄)。 結構包含擴充預存程式連結庫用來管理應用程式和客戶端之間的通訊和數據的資訊。
n
這是參數的數目。 第一個參數是數位 1。
傳回
參數值的指標。 如果第 n個參數為 NULL,則沒有第 n 個參數,或沒有遠端預存程式,則會傳回 NULL。 如果參數值是字串,它可能不會以 Null 終止。 使用 srv_paramlen 來判斷字串的長度。
如果 參數是其中一個Microsoft SQL Server 數據類型,則此函式會傳回下列值。 指標數據報括數據類型的指標是否有效(VP)、NULL 或不適用(N/A),以及指向的數據內容。
新的數據類型 | 輸入數據長度 |
---|---|
BITN | NULL: VP、NULL 零: VP、NULL >=255: N/A <255: N/A |
BIGVARCHAR | NULL: NULL、N/A 零: VP、NULL >=255: VP, 255 個字元 <255: VP、實際數據 |
BIGCHAR | NULL: NULL、N/A 零: VP,255 個空格 >=255: VP, 255 個字元 <255: VP、實際資料 + 填補(最多 255) |
BIGBINARY | NULL: NULL、N/A 零: VP,255 0x00 >=255: VP,255 個字節 <255: VP、實際資料 + 填補(最多 255) |
BIGVARBINARY | NULL: NULL、N/A 零: VP、0x00 >=255: VP,255 個字節 <255: VP、實際數據 |
NCHAR | NULL: NULL、N/A 零: VP,255 個空格 >=255: VP, 255 個字元 <255: VP、實際資料 + 填補(最多 255) |
NVARCHAR | NULL: NULL、N/A 零: VP、NULL >=255: VP, 255 個字元 <255: VP、實際數據 |
NTEXT | NULL: N/A 零: N/A >=255: N/A <255: N/A |
* 資料未以 Null 終止;數據 255 個字元的截斷 >時不會發出任何警告。
備註
如果您知道參數名稱,您可以使用 srv_paramnumber 來取得參數編號。 若要判斷參數是否為 NULL,請使用 srv_paramlen。
使用參數進行遠端預存過程調用時,參數可以依名稱或位置傳遞(未命名)。 如果遠端預存程式呼叫是以名稱傳遞的一些參數和一些依位置傳遞的參數進行,就會發生錯誤。 如果發生錯誤,仍會呼叫SRV_RPC處理程式,但看起來好像沒有參數, srv_rpcparams 傳回 0。
重要
您應該徹底檢閱擴充預存程式的原始程式碼,而且您應該先測試已編譯的 DLL,再於實際執行伺服器上安裝它們。 如需安全性檢閱和測試的相關信息,請參閱此 Microsoft網站。