Condividi tramite


srv_parammaxlen (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 la lunghezza massima dei dati di un parametro di chiamata a una stored procedure remota. Questa funzione è stata sostituita dalla funzione srv_paraminfo.

Sintassi

  
int srv_parammaxlen (  
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 dell'API Stored procedure estesa 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

Lunghezza massima in byte dei dati del parametro. Se non è presente nessun parametro n o nessuna stored procedure remota, restituisce -1.

Questa funzione restituisce i valori seguenti, se il parametro è uno dei tipi di dati di Microsoft SQL Server seguenti.

Nuovi tipi di dati Lunghezza dei dati di input
BITN NULL: 1

ZERO: 1

>=255: N/A

<255: N/D
BIGVARCHAR NULL: 255

ZERO: 255

>=255: 255

<255: 255
BIGCHAR NULL: 255

ZERO: 255

>=255: 255

<255: 255
BIGBINARY NULL: 255

ZERO: 255

>=255: 255

<255: 255
BIGVARBINARY NULL: 255

ZERO: 255

>=255: 255

<255: 255
NCHAR NULL: 255

ZERO: 255

>=255: 255

<255: 255
NVARCHAR NULL: 255

ZERO: 255

>=255: 255

<255: 255
NTEXT NULL: -1

ZERO: -1

>=255: -1

<255: -1

Osservazioni:

Ogni parametro di stored procedure remota ha una lunghezza massima e una lunghezza effettiva dei dati. Per i tipi di dati a lunghezza fissa standard che non consentono valori Null, le due lunghezze coincidono. Per i tipi di dati a lunghezza variabile, le lunghezze possono essere diverse. Un parametro dichiarato come varchar(30) può ad esempio contenere dati con lunghezza pari a 10 byte. La lunghezza effettiva del parametro è 10, mentre la lunghezza massima è 30. La funzione srv_parammaxlen ottiene la lunghezza massima dei dati di una stored procedure remota. Per ottenere la lunghezza effettiva di un parametro, usare srv_paramlen.

Quando viene effettuata una chiamata a una stored procedure remota con 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. Il gestore SRV_RPC viene comunque chiamato, 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_paraminfo (API Stored procedure estesa)
srv_rpcparams (API Stored procedure estesa)