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.