Condividi tramite


srv_parammaxlen (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 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 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

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

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

Nuovi tipi di dati

Lunghezza dei dati di input

BITN

NULL: 1

ZERO: 1

>=255: N/D

<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 presenta 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 relativa 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, utilizzare srv_paramlen.

Quando una chiamata alla stored procedure remota viene effettuata 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 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.