srv_parammaxlen (API für erweiterte gespeicherte Prozeduren)
Gilt für: SQL Server
Wichtig
Diese Funktion wird in einer zukünftigen Version von SQL Serverentfernt. Nutzen Sie diese Funktionen bei Neuentwicklungen nicht mehr, und planen Sie die Änderung von Anwendungen, die diese Funktion zurzeit verwenden. Verwenden Sie stattdessen die CLR-Integration.
Gibt die maximale Datenlänge des Aufrufparameters für eine remote gespeicherte Prozedur zurück. Diese Funktion wurde durch die srv_paraminfo-Funktion ersetzt.
Syntax
int srv_parammaxlen (
SRV_PROC *
srvproc
,
int
n
);
Argumente
srvproc
Ist ein Zeiger auf die SRV_PROC-Struktur, die das Handle für eine bestimmte Clientverbindung ist (in diesem Fall das Handle, das den Aufruf der remote gespeicherten Prozedur erhalten hat). Die Struktur enthält Informationen, mit der die API-Bibliothek für erweiterte gespeicherte Prozeduren die Kommunikation und Daten zwischen der Anwendung und dem Client verwaltet.
n
Gibt die Anzahl der Parameter an. Der erste Parameter ist 1.
Gibt zurück
Die maximale Länge der Parameterdaten in Byte. Wenn es keinen n-ten Parameter oder keine remote gespeicherte Prozedur gibt, wird -1 zurückgegeben.
Diese Funktion gibt die folgenden Werte zurück, wenn der Parameter einer der folgenden Microsoft SQL Server-Datentypen ist.
Neue Datentypen | Länge der Eingabedaten |
---|---|
BITN | NULL: 1 ZERO: 1 >=255: N/A <255: NICHT ZUTREFFEND |
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 |
Hinweise
Parameter einer remote gespeicherten Prozedur haben eine tatsächliche und eine maximale Datenlänge. Bei Standarddatentypen fester Länge, die keine Nullwerte zulassen, ist die tatsächliche Länge mit der maximalen Länge identisch. Bei Datentypen variabler Länge können die Längen unterschiedlich sein. Ein als varchar(30) deklarierter Parameter kann beispielsweise über Daten verfügen, die nur 10 Byte lang sind. Die tatsächliche Länge des Parameters ist 10, die maximale Länge jedoch 30. Die Funktion srv_parammaxlen ruft die maximale Datenlänge einer remote gespeicherten Prozedur ab. Zum Abrufen der tatsächlichen Datenlänge eines Parameters verwenden Sie srv_paramlen.
Wenn eine remote gespeicherte Prozedur mit Parametern aufgerufen wird, werden die Parameter entweder mit ihrem Namen oder mit ihrer Position übergeben (unbenannt). Werden beim Aufruf einer remote gespeicherten Prozedur einige Parameter über ihren Namen und andere über ihre Position übergeben, so tritt ein Fehler auf. Der SRV_RPC-Handler wird trotzdem aufgerufen, scheinbar jedoch ohne Parameter, und srv_rpcparams gibt 0 (null) zurück.
Wichtig
Sie sollten den Quellcode der erweiterten gespeicherten Prozeduren sorgfältig prüfen, und Sie sollten die kompilierten DLL-Dateien testen, bevor Sie sie auf einem Produktionsserver installieren. Weitere Informationen zum Überprüfen und Testen der Sicherheit finden Sie auf dieser Microsoft-Website.
Weitere Informationen
srv_paraminfo (API für erweiterte gespeicherte Prozeduren)
srv_rpcparams (API für erweiterte gespeicherte Prozeduren)