Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Important
Den här funktionen tas bort i en framtida version av SQL Server. Undvik att använda den här funktionen i nytt utvecklingsarbete och planera att ändra program som för närvarande använder den här funktionen. Använd istället CLR-integration.
Returnerar datastorleken för en fjärrlagrad proceduranropsparameter. Denna funktion har ersatts av srv_paraminfo funktionen.
Syntax
int srv_paramlen (
SRV_PROC *
srvproc
,
int
n
);
Arguments
srvproc
Är en pekare till den SRV_PROC struktur som är handtaget för en viss klientanslutning (i detta fall handtaget som tog emot anropet för fjärrlagrad procedur). Strukturen innehåller information som Extended Stored Procedure API-biblioteket använder för att hantera kommunikation och data mellan applikationen och klienten.
n
Anger numret på parametern. Den första parametern är 1.
Returns
Den faktiska längden, i bytes, av parameterdatan. Om det inte finns någon n:te parameter eller ingen fjärrlagrad procedur returnerar den -1. Om den n:te parametern är NULL, returnerar den 0.
Denna funktion returnerar följande värden, om parametern är en av följande Microsoft SQL Server 2005 (9.x) systemdatatyper.
| Nya datatyper | Indatans längd |
|---|---|
| BITN |
NULL: 1 NOLL: 1 >=255: Ej/A <255: Ej tillgänglig |
| BIGVARCHAR |
NULL: 0 NOLL: 1 >=255: 255 <255: Faktiska Len |
| BIGCHAR |
NULL: 0 NOLL: 255 >=255: 255 <255: 255 |
| BIGBINARY |
NULL: 0 NOLL: 255 >=255: 255 <255: 255 |
| BIGVARBINARY |
NULL: 0 NOLL: 1 >=255: 255 <255: Faktiska Len |
| NCHAR |
NULL: 0 NOLL: 255 >=255: 255 <255: 255 |
| NVARCHAR |
NULL: 0 NOLL: 1 >=255: 255 <255: Faktiska Len |
| NTEXT |
NULL: -1 ZERO: -1 >=255: -1 <255: -1 |
* actual len = Längd på multibyte-teckensträng (cch)
Remarks
Varje fjärrlagrad procedurparameter har en faktisk och en maximal datalängd. För standardtyper av data med fast längd som inte tillåter nollvärden är de faktiska och maximala längderna desamma. För datatyper med variabel längd kan längderna variera. Till exempel kan en parameter deklarerad som varchar(30) ha data som bara är 10 byte lång. Parameterns faktiska längd är 10 och dess maximala längd är 30. Funktionen srv_paramlen får den faktiska datalängden, i bytes, för en fjärrlagrad procedur. För att få maximal datalängd för en parameter, använd srv_parammaxlen.
När ett fjärranrop med lagrad procedur görs med parametrar kan parametrarna skickas antingen med namn eller position (utan namn). Om anropet för fjärrlagrad procedur görs med vissa parametrar som skickas med namn och några med position, uppstår ett fel. Den SRV_RPC hanteraren anropas fortfarande, men det verkar som om det inte fanns några parametrar och srv_rpcparams returnerar 0.
Important
Du bör noggrant granska källkoden för utökade lagrade procedurer, och du bör testa de kompilerade DLL:erna innan du installerar dem på en produktionsserver. För information om säkerhetsgranskning och testning, se denna Microsoft-webbplats.