Condividi tramite


srv_paramdata (API Stored procedure estesa)

Si applica a: SQL Server

Importante

Questa funzionalità verrà rimossa nelle versioni future di SQL Server. Evitare di usare questa funzionalità in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata. Usare invece l'integrazione 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.

Valori restituiti

Puntatore al valore di parametro. Se il parametro n è NULL o se non è presente nessun parametro n o nessuna stored procedure remota, restituisce NULL. Se il valore del parametro è una stringa, potrebbe non essere con terminazione Null. Usare 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/D
BIGVARCHAR NULL: NULL, N/D

ZERO: VP, NULL

>=255: VP, 255 caratteri

<255: VP, dati effettivi
BIGCHAR NULL: NULL, N/D

ZERO: VP, 255 spazi

>=255: VP, 255 caratteri

<255: VP, dati effettivi + spaziatura interna (fino a 255)
BIGBINARY NULL: NULL, N/D

ZERO: VP, 255 0x00

>=255: VP, 255 byte

<255: VP, dati effettivi + spaziatura interna (fino a 255)
BIGVARBINARY NULL: NULL, N/D

ZERO: VP, 0x00

>=255: VP, 255 byte

<255: VP, dati effettivi
NCHAR NULL: NULL, N/D

ZERO: VP, 255 spazi

>=255: VP, 255 caratteri

<255: VP, dati effettivi + spaziatura interna (fino a 255)
NVARCHAR NULL: NULL, N/D

ZERO: VP, NULL

>=255: VP, 255 caratteri

<255: VP, dati effettivi
NTEXT NULL: N/D

ZERO: N/D

>=255: N/A

<255: N/D

* i dati non terminano null; non viene generato alcun avviso in caso di troncamento per i dati >di 255 caratteri.

Osservazioni:

Se si conosce il nome del parametro, è possibile usare srv_paramnumber per ottenerne il numero. Per determinare se un parametro è NULL, usare 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 chiamato comunque ma risulta che non sono presenti parametri e srv_rpcparams restituisce 0.

Importante

È 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 della sicurezza, visitare questo sito Web Microsoft.

Vedi anche

srv_rpcparams (API Stored procedure estesa)