srv_paramlen (API de procedimiento almacenado extendido)
Importante |
---|
Esta característica se quitará en una versión futura de Microsoft SQL Server. No utilice esta característica en nuevos trabajos de desarrollo y modifique lo antes posible las aplicaciones que actualmente la utilizan. En su lugar, utilice la integración CLR. |
Devuelve la longitud de datos de un parámetro de llamada a un procedimiento almacenado remoto. La función srv_paraminfo ha sustituido esta función.
Sintaxis
int srv_paramlen (
SRV_PROC *
srvproc
,
int
n
);
Argumentos
srvproc
Es un puntero a la estructura SRV_PROC, que es el identificador de una conexión de cliente determinada (en este caso, el identificador que recibió la llamada al procedimiento almacenado remoto). La estructura contiene información que la biblioteca de API Procedimiento almacenado extendido utiliza para administrar la comunicación y los datos entre la aplicación y el cliente.n
Indica el número del parámetro. El primer parámetro es 1.
Devuelve
La longitud real, en bytes, de los datos del parámetro. Si no existe ningún parámetro n, o no hay ningún procedimiento almacenado remoto, devuelve -1. Si el parámetro n es NULL, devuelve 0.
Esta función devuelve los valores siguientes, si el parámetro es uno de los siguientes tipos de datos de sistema de MicrosoftSQL Server 2005.
Nuevos tipos de datos |
Longitud de datos de entrada |
---|---|
BITN |
NULL: 1 CERO: 1 >= 255: N/A <255: N/A |
BIGVARCHAR |
NULL: 0 CERO: 1 >=255: 255 <255:len real |
BIGCHAR |
NULL: 0 CERO: 255 >=255: 255 <255: 255 |
BIGBINARY |
NULL: 0 CERO: 255 >=255: 255 <255: 255 |
BIGVARBINARY |
NULL: 0 CERO: 1 >=255: 255 <255:len real |
NCHAR |
NULL: 0 CERO: 255 >=255: 255 <255: 255 |
NVARCHAR |
NULL: 0 CERO: 1 >=255: 255 <255:len real |
NTEXT |
NULL: -1 CERO: -1 >=255: -1 <255: -1 |
* len real = longitud de cadena de caracteres multibyte (cch)
Notas
Cada parámetro de procedimiento almacenado remoto tiene una longitud de datos real y una longitud máxima. En los tipos de datos de longitud fija estándar que no permiten valores NULL, las longitudes real y máxima son las mismas. En los tipos de datos de longitud variable, las longitudes pueden variar. Por ejemplo, un parámetro declarado como varchar(30) puede tener datos con una longitud de sólo 10 bytes. La longitud real del parámetro es 10 y su longitud máxima es 30. La función srv_paramlen obtiene la longitud de los datos real, en bytes, de un procedimiento almacenado remoto. Para obtener la longitud de datos máxima de un parámetro, use srv_parammaxlen.
Cuando se utilizan parámetros en una llamada a un procedimiento almacenado remoto, estos pueden pasarse por nombre o por posición (sin nombre). Se producirá un error en la llamada al procedimiento almacenado remoto si algunos parámetros se pasan por nombre y otros por posición. Sigue llamándose al controlador SRV_RPC, pero parece como si no hubiera ningún parámetro y srv_rpcparams devuelve 0.
Nota de seguridad |
---|
Debe revisar cuidadosamente el código fuente de los procedimientos almacenados extendidos y debe probar las DLL compiladas antes de instalarlas en el servidor de producción. Para obtener información acerca de la revisión y pruebas de seguridad, vea este sitio web de Microsoft. |