srv_describe (API für erweiterte gespeicherte Prozeduren)
Wichtig |
---|
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. |
Definiert den Spaltennamen und die Quellen- und Zieldatentypen für eine bestimmte Spalte in einer Zeile.
Syntax
int srv_describe (
SRV_PROC *
srvproc
,
int
colnumber
,
DBCHAR *
column_name
,
int
namelen
,
DBINT
desttype
,
DBINT
destlen
,
DBINT
srctype
,
DBINT
srclen
,
void *
srcdata
);
Argument
srvproc
Ist ein Zeiger auf die SRV_PROC-Struktur, die das Handle für eine bestimmte Clientverbindung ist (in diesem Fall der die Zeile sendende Client). Die Struktur enthält alle Kontrollinformationen, mit der die API-Bibliothek für erweiterte gespeicherte Prozeduren Kommunikationen und Daten zwischen der Anwendung und dem Client verwaltet.colnumber
Wird derzeit nicht unterstützt. Spalten müssen der Reihe nach beschrieben werden. Alle Spalten müssen vor dem Aufrufen von srv_sendrow beschrieben werden.column_name
Gibt den Namen der Spalte an, zu der die Daten gehören. Dieser Parameter kann NULL sein, da eine Spalte nicht zwingend einen Namen haben muss.namelen
Gibt die Länge der column_name-Eigenschaft in Bytes an. Wenn namelen den Wert SRV_NULLTERM hat, muss column_name NULL-terminiert sein.desttype
Gibt den Datentyp der Spalte mit der Zielzeile an. Dies ist der Datentyp, der an den Client gesendet wird. Der Datentyp muss angegeben werden, auch wenn die Daten NULL sind. Weitere Informationen finden Sie unter Datentypen (API für erweiterte gespeicherte Prozeduren).destlen
Gibt die Länge der Daten in Byte an, die an den Client gesendet werden sollen. Für Datentypen mit fester Länge, die keine NULL-Werte zulassen, wird destlen ignoriert. Für Datentypen variabler Länge und Datentypen fester Länge, die NULL-Werte zulassen, gibt destlen die maximal zulässige Länge der Zieldaten an.srctype
Gibt den Datentyp der Quelldaten an.srclen
Gibt die Länge der Quelldaten in Byte an. Dieser Wert wird für Datentypen fester Länge ignoriert.srcdata
Stellt die Quelldatenadresse für eine bestimmte Spalte zur Verfügung. Wenn srv_sendrow aufgerufen wird, werden die Daten für colnumber in srcdata gesucht. Daher sollte keine Freigabe vor einem Aufruf von srv_sendrow erfolgen. Die Quelldatenadresse kann zwischen Aufrufen von srv_sendrow mit srv_setcoldata geändert werden. Der srcdata zugewiesene Speicher sollte erst freigegeben werden, wenn die Spaltendaten durch einen anderen Aufruf von srv_setcoldata ersetzt wurden oder wenn srv_senddone aufgerufen wird.Wenn desttype den Wert SRVDECIMAL oder SRVNUMERIC aufweist, muss der srcdata-Parameter ein Zeiger auf eine DBNUMERIC- oder DBDECIMAL-Struktur sein, und die Felder für Genauigkeit und Dezimalstellen müssen bereits auf die gewünschten Werte festgelegt worden sein. Mit DEFAULTPRECISION können Sie eine Standardgenauigkeit angeben und mit DEFAULTSCALE einen Standardwert für die Dezimalstellen.
Rückgabewerte
Die Nummer der beschriebenen Spalte. Die erste Spalte ist die Spalte 1. Tritt ein Fehler auf, wird 0 zurückgegeben.
Hinweise
Die srv_describe-Funktion muss einmal für jede Spalte in der Zeile aufgerufen werden, bevor der erste Aufruf von srv_sendrow erfolgt. Die Spalten einer Zeile können in jeder Reihenfolge beschrieben werden.
Um den Speicherort und die Länge der Quelldaten in Spaltenzeilen zu ändern, bevor das gesamte Resultset gesendet wurde, verwenden Sie srv_setcoldata bzw. srv_setcollen.
Eine Beschreibung von Datentypen und Datentypkonvertierungen der API für erweiterte gespeicherte Prozeduren finden Sie unter Datentypen (API für erweiterte gespeicherte Prozeduren).
Wenn der Spaltenname in der Anwendung in Unicode angegeben ist, muss er in die Multibytecodepage des Servers konvertiert werden, bevor srv_describe aufgerufen wird. Weitere Informationen finden Sie unter Unicode-Daten und Server-Codepages.
Sicherheitshinweis |
---|
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. |