Share via


srv_paramdata (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 den Wert eines Aufrufparameters für eine remote gespeicherte Prozedur zurück. Diese Funktion wurde durch die srv_paraminfo-Funktion ersetzt.

Syntax

  
void * srv_paramdata (  
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 Bibliothek für erweiterte gespeicherte Prozeduren die Daten und Kommunikation zwischen der Anwendung und dem Client verwaltet.

n
Entspricht der Nummer des Parameters. Die erste Parameternummer ist 1.

Gibt zurück

Ein Zeiger auf den Parameterwert. Ist der n-te Parameter NULL, ist kein n-ter Parameter vorhanden, oder ist keine remote gespeicherte Prozedur vorhanden, wird NULL zurückgegeben. Wenn der Parameterwert eine Zeichenfolge ist, kann er nicht NULL-terminiert sein. Verwenden Sie srv_paramlen, um die Länge der Zeichenfolge zu bestimmen.

Diese Funktion gibt die folgenden Werte zurück, wenn der Parameter eines der Microsoft SQL Server-Datentypen ist. Zeigerdaten umfassen, ob der Zeiger für den Datentyp gültig (VP), NULL oder nicht anwendbar (N/V) ist, sowie den Inhalt der Daten, auf die der Zeiger verweist.

Neue Datentypen Länge der Eingabedaten
BITN NULL: VP, NULL

ZERO: VP, NULL

>=255: N/A

<255: NICHT ZUTREFFEND
BIGVARCHAR NULL: NULL, NICHT ZUTREFFEND

ZERO: VP, NULL

>=255: VP, 255 Zeichen

<255: VP, tatsächliche Daten
BIGCHAR NULL: NULL, NICHT ZUTREFFEND

ZERO: VP, 255 Leerräume

>=255: VP, 255 Zeichen

<255: VP, tatsächliche Daten + Abstand (bis zu 255)
BIGBINARY NULL: NULL, NICHT ZUTREFFEND

ZERO: VP, 255 0x00

>=255: VP, 255 Bytes

<255: VP, tatsächliche Daten + Abstand (bis zu 255)
BIGVARBINARY NULL: NULL, NICHT ZUTREFFEND

ZERO: VP, 0x00

>=255: VP, 255 Bytes

<255: VP, tatsächliche Daten
NCHAR NULL: NULL, NICHT ZUTREFFEND

ZERO: VP, 255 Leerräume

>=255: VP, 255 Zeichen

<255: VP, tatsächliche Daten + Abstand (bis zu 255)
NVARCHAR NULL: NULL, NICHT ZUTREFFEND

ZERO: VP, NULL

>=255: VP, 255 Zeichen

<255: VP, tatsächliche Daten
NTEXT NULL: NICHT ZUTREFFEND

ZERO: NICHT ZUTREFFEND

>=255: N/A

<255: NICHT ZUTREFFEND

* Daten werden nicht null beendet; Es wird keine Warnung beim Abschneiden von Daten >von 255 Zeichen ausgegeben.

Hinweise

Wenn Sie den Parameternamen wissen, können Sie srv_paramnumber verwenden, um die Parameternummer abzurufen. Verwenden Sie srv_paramlen, um zu bestimmen, ob ein Parameter NULL ist.

Wenn eine remote gespeicherte Prozedur mit Parametern aufgerufen wird, werden die Parameter 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. Bei Auftreten eines Fehlers wird der SRV_RPC-Handler trotzdem aufgerufen, doch es sind scheinbar keine Parameter vorhanden und srv_rpcparams gibt 0 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_rpcparams (API für erweiterte gespeicherte Prozeduren)