Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Ważna
Ta funkcja zostanie usunięta w przyszłej wersji programu SQL Server. Unikaj używania tej funkcji w nowych pracach programistycznych i zaplanuj modyfikowanie aplikacji, które obecnie korzystają z tej funkcji. Zamiast tego użyj integracji CLR.
Ustawia wartość parametru zwrotu zdalnej procedury przechowywanej. Funkcja ta została zastąpiona przez funkcję srv_paramsetoutput .
Syntax
int srv_paramset (
SRV_PROC *
srvproc
,
int
n
,
void *
data
,
int
len
);
Arguments
srvproc
Jest wskaźnikiem do struktury SRV_PROC, która jest uchwytem dla konkretnego połączenia klienta (w tym przypadku uchwytu, który otrzymał zdalne wywołanie procedury przechowywanej). Struktura zawiera informacje, które biblioteka API Extended Stored Procedure wykorzystuje do zarządzania komunikacją i danymi między aplikacją a klientem.
n
Wskazuje liczbę parametrów do ustawienia. Pierwszy parametr to 1.
data
Jest wskaźnikiem do wartości danych, która ma być wysyłana z powrotem do klienta jako parametr powrotu procedury zdalnej przechowywanej.
len
Określa rzeczywistą długość danych, które mają zostać zwrócone. Jeśli typ danych parametru ma stałą długość i nie dopuszcza wartości zerowych (na przykład srvbit lub srvint1), len jest ignorowany.
Zwroty
SUKCES, jeśli wartość parametru została pomyślnie ustawiona; w przeciwnym razie NIEZDAJ. FAIL zwraca się, gdy nie ma aktualnej zdalnej procedury przechowywanej, gdy nie ma ntparametrów zdalnej procedury przechowywanej, gdy parametr nie jest parametrem return oraz gdy argument len nie jest legalny.
Jeśli lenjest równe 0, zwraca NULL. Ustawienie len na 0 to jedyny sposób, aby zwrócić NULL do klienta.
Funkcja ta zwraca następujące wartości, jeśli parametr jest jednym z typów danych Microsoft SQL Server 2005 (9.x).
| Nowe typy danych | Długość danych zwrotnych |
|---|---|
| BITN |
NULL:len = 0, data = IG, RET = 0 ZERO: Nie ma >=255: N/A <255: N/A |
| BIGVARCHAR |
NULL:len = 0, data = IG, RET = 1 ZERO:len = IG, data = IG, RET = 0 >=255:len = max8k, dane = ważne, RET = 0 <255:len = <8k, dane = ważne, RET = 1 |
| BIGCHAR |
NULL:len = 0, data = IG, RET = 1 ZERO:len = IG, data = IG, RET = 0 >=255:len = max8k, dane = ważne, RET = 0 <255:len = <8k, dane = ważne, RET = 1 |
| BIGBINARY |
NULL:len = 0, data = IG, RET = 1 ZERO:len = IG, data = IG, RET = 0 >=255:len = max8k, dane = ważne, RET = 0 <255:len = <8k, dane = ważne, RET = 1 |
| BIGVARBINARY |
NULL:len = 0, data = IG, RET = 1 ZERO:len = IG, data = IG, RET = 0 >=255:len = max8k, dane = ważne, RET = 0 <255:len = <8k, dane = ważne, RET = 1 |
| NCHAR |
NULL:len = 0, data = IG, RET = 1 ZERO:len = IG, data = IG, RET = 0 >=255:len = max8k, dane = ważne, RET = 0 <255:len = <8k, dane = ważne, RET = 1 |
| NVARCHAR |
NULL:len = 0, data = IG, RET = 1 ZERO:len = IG, data = IG, RET = 0 >=255:len = max8k, dane = ważne, RET = 0 <255:len = <8k, dane = ważne, RET = 1 |
| NTEKST |
NULL:len = IG, data = IG, RET = 0 ZERO:len = IG, data = IG, RET = 0 >=255:len = IG, data = IG, RET = 0 <255:len = IG, data = IG, RET = 0 |
| RET = Wartość zwrotu srv_paramset | |
| IG = Wartość zostanie zignorowana | |
| valid = Dowolny poprawny wskaźnik do danych |
Remarks
Parametry zawierają dane przekazywane między klientami a aplikacją za pomocą zdalnych procedur przechowywanych. Klient może określić określone parametry jako parametry zwrotne. Te parametry zwrotu mogą zawierać wartości, które aplikacja serwera Open Data Services przekazuje klientowi. Użycie parametrów zwrotu jest analogiczne do przekazywania parametrów przez odwołanie.
Nie można ustawić wartości zwrotnej parametru, który nie został wywołany, jako parametru zwrotu. Możesz użyć srv_paramstatus , aby określić, jak parametr został wywołany.
Funkcja ta ustala wartość zwrotną parametru, ale faktycznie nie wysyła wartości zwrotnej do klienta. Wszystkie parametry zwrotu, niezależnie od tego, czy zostały ustawione z srv_paramset , czy nie, są automatycznie wysyłane do klienta, gdy srv_senddone zostanie wywołany z SRV_DONE_FINAL ustawioną flagą statusu.
Gdy wywołane jest zdalne wywołanie procedury przechowywanej z parametrami, parametry te mogą być przekazywane zarówno według nazwy, jak i pozycji (bez nazwy). Jeśli zdalne wywołanie procedury przechowywanej zostanie wykonane z pewnymi parametrami przekazywanymi nazwą, a innymi według pozycji, występuje błąd. Obsługa SRV_RPC nadal jest wywoływana, ale wygląda na to, że nie było żadnych parametrów, a srv_rpcparams zwraca 0.
Ważna
Powinieneś dokładnie przejrzeć kod źródłowy rozszerzonych procedur przechowywanych i przetestować skompilowane pliki DLL przed instalacją ich na serwerze produkcyjnym. Informacje o przeglądzie i testowaniu bezpieczeństwa znajdziesz na tej stronie internetowej Microsoft.