共用方式為


srv_paramdata (擴充預存程序 API)

重要注意事項重要事項

未來的 Microsoft 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 來判斷字串的長度。

如果參數是 MicrosoftSQL Server 資料類型的一種,則此函數會傳回下列値。指標資料包含資料類型的指標是否為有效 (VP)、NULL 或不適用 (N/A),以及資料所指向的內容。

新的資料類型

輸入資料長度

BITN

NULL:VP、NULL

ZERO:VP、NULL

>=255:N/A

<255:N/A

BIGVARCHAR

NULL:NULL、N/A

ZERO:VP、NULL

>=255:VP、255 個字元

<255:VP、實際資料

BIGCHAR

NULL:NULL、N/A

ZERO:VP、255 個空格

>=255:VP、255 個字元

<255:VP、實際資料 + 填補 (最多 255)

BIGBINARY

NULL:NULL、N/A

ZERO:VP、255 0x00

>=255:VP、255 個位元組

<255:VP、實際資料 + 填補 (最多 255)

BIGVARBINARY

NULL:NULL、N/A

ZERO:VP、0x00

>=255:VP、255 個位元組

<255:VP、實際資料

NCHAR

NULL:NULL、N/A

ZERO:VP、255 個空格

>=255:VP、255 個字元

<255:VP、實際資料 + 填補 (最多 255)

NVARCHAR

NULL:NULL、N/A

ZERO:VP、NULL

>=255:VP、255 個字元

<255:VP、實際資料

NTEXT

NULL:N/A

ZERO:N/A

>=255:N/A

<255:N/A

* 資料不是以 Null 結束;在截斷 >255 個字元的資料時,不會發出警告。

備註

如果您知道參數名稱,可以使用 srv_paramnumber 來取得參數數目。若要判斷參數是否為 NULL,請使用 srv_paramlen

當遠端預存程序呼叫是用參數進行時,可以依名稱或位置 (未命名) 傳遞參數。如果進行遠端預存程序呼叫時,所使用的某些參數是依名稱傳遞,某些參數又是依位置傳遞,就會發生錯誤。如果發生錯誤,則仍會呼叫 SRV_RPC 處理常式,但會看來好像沒有參數一般,而且 srv_rpcparams 會傳回 0。

安全性注意事項安全性注意事項

您應該徹底檢閱擴充預存程序的原始程式碼,也應該先測試編譯過的 DLL,才能將它們安裝在實際執行伺服器上。如需有關安全性檢閱和測試的詳細資訊,請造訪 Microsoft 網站 (英文)。