Share via


srv_parammaxlen (API für erweiterte gespeicherte Prozeduren)

Wichtiger HinweisWichtig

Diese Funktion wird in zukünftigen Versionen von Microsoft SQL Server nicht mehr bereitgestellt. Verwenden Sie diese Funktion beim Entwickeln neuer Anwendungen nicht, und planen Sie so bald wie möglich das Ändern von Anwendungen, in denen es zurzeit verwendet wird. 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
    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 denen die API-Bibliothek für erweiterte gespeicherte Prozeduren die Daten und Kommunikation zwischen der Anwendung und dem Client verwaltet.

  • n
    Gibt die Anzahl der Parameter an. Der erste Parameter ist 1.

Rückgabewert

Die maximale Länge der Parameterdaten in Byte. Wenn kein n-ter Parameter vorhanden ist oder es keine remote gespeicherte Prozedur gibt, wird -1 zurückgegeben.

Diese Funktion gibt die folgenden Werte zurück, wenn der Parameter einem der folgenden Datentypen von Microsoft SQL Server 2005 entspricht.

Neue Datentypen

Länge der Eingabedaten

BITN

NULL: 1

ZERO: 1

>=255: Nicht zutreffend

<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 srv_parammaxlen-Funktion 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 über ihren Namen oder ihre Position (unbenannt) übergeben. Werden beim Aufruf einer remote gespeicherten Prozedur einige Parameter mit ihrem Namen und einige mit ihrer Position übergeben, so tritt ein Fehler auf. Der SRV_RPC-Handler wird trotzdem aufgerufen, doch es sind scheinbar keine Parameter vorhanden, und srv_rpcparams gibt 0 zurück.

SicherheitshinweisSicherheitshinweis

Sie sollten den Quellcode der erweiterten gespeicherten Prozeduren gründlich überprüfen. Außerdem sollten Sie die kompilierten DLLs vor der Installation auf einem Produktionsserver testen. Weitere Informationen zum Überprüfen und Testen der Sicherheit finden Sie auf dieser Microsoft-Website.

Siehe auch

Verweis

srv_paraminfo (API für erweiterte gespeicherte Prozeduren)

srv_rpcparams (API für erweiterte gespeicherte Prozeduren)