Condividi tramite


srv_paramdata (API Stored procedure estesa)

Nota importanteImportante

Questa caratteristica verrà rimossa a partire da una delle prossime versioni di Microsoft SQL Server. Non utilizzare questa caratteristica in un nuovo progetto di sviluppo e modificare non appena possibile le applicazioni in cui è attualmente implementata. Utilizzare invece la funzionalità di integrazione con CLR.

Restituisce il valore di un parametro di chiamata a una stored procedure remota. Questa funzione è stata sostituita dalla funzione srv_paraminfo.

Sintassi


void * srv_paramdata (
SRV_PROC *
srvproc
,
int
n 
);

Argomenti

  • srvproc
    Puntatore alla struttura SRV_PROC che rappresenta l'handle di una determinata connessione client. In questo caso, l'handle che ha ricevuto la chiamata alla stored procedure remota. La struttura contiene informazioni utilizzate dalla libreria delle stored procedure estese per gestire le comunicazioni e i dati tra l'applicazione e il client.

  • n
    Indica il numero del parametro. Il primo parametro è 1.

Restituisce

Puntatore al valore di parametro. Se il parametro in posizione n è NULL o se non è presente alcun parametro in posizione n o nessuna stored procedure remota, restituisce NULL. Se il valore del parametro è una stringa, potrebbe non essere con terminazione Null. Utilizzare srv_paramlen per determinare la lunghezza della stringa.

Questa funzione restituisce i valori seguenti, se il parametro è uno dei tipi di dati di Microsoft SQL Server. I dati puntatore indicano anche se il puntatore per il tipo di dati è valido (VP), NULL o non applicabile (N/A) e il contenuto dei dati a cui punta.

Nuovi tipi di dati

Lunghezza dei dati di input

BITN

NULL: VP, NULL

ZERO: VP, NULL

>=255: N/A

<255: N/A

BIGVARCHAR

NULL: NULL, N/A

ZERO: VP, NULL

>= 255: VP, 255 caratteri

<255: VP, dati effettivi

BIGCHAR

NULL: NULL, N/A

ZERO: VP, 255 spazi

>= 255: VP, 255 caratteri

<255: VP, dati effettivi + riempimento (fino a 255)

BIGBINARY

NULL: NULL, N/A

ZERO: VP, 255 0x00

>=255: VP, 255 byte

<255: VP, dati effettivi + riempimento (fino a 255)

BIGVARBINARY

NULL: NULL, N/A

ZERO: VP, 0x00

>=255: VP, 255 byte

<255: VP, dati effettivi

NCHAR

NULL: NULL, N/A

ZERO: VP, 255 spazi

>= 255: VP, 255 caratteri

<255: VP, dati effettivi + riempimento (fino a 255)

NVARCHAR

NULL: NULL, N/A

ZERO: VP, NULL

>= 255: VP, 255 caratteri

<255: VP, dati effettivi

NTEXT

NULL: N/A

ZERO: N/A

>=255: N/A

<255: N/A

* i dati non sono con terminazione Null e non viene generato alcun avviso di troncamento per i dati >255 caratteri.

Osservazioni

Se si conosce il nome del parametro, è possibile utilizzare srv_paramnumber per ottenerne il numero. Per determinare se un parametro è NULL, utilizzare srv_paramlen.

Quando una chiamata alla stored procedure remota viene effettuata con i parametri, tali parametri possono essere passati per nome o per posizione (senza nome). Se invece viene effettuata con alcuni parametri passati per nome e altri passati per posizione, si verifica un errore. Se si verifica un errore, il gestore SRV_RPC viene ancora chiamato ma risulta che non sono presenti parametri e srv_rpcparams restituisce 0.

Nota sulla sicurezzaNota sulla sicurezza

È necessario esaminare con attenzione il codice sorgente delle stored procedure estese e testare le DLL compilate prima di installarle in un server di produzione. Per informazioni sui test e sull'analisi di protezione, visitare questo sito Web Microsoft.