Compartir a través de


srv_parammaxlen (API de procedimiento almacenado extendido)

Se aplica a: SQL Server

Importante

Esta característica se quitará en una versión futura de SQL Server. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan. En su lugar, use la integración de CLR.

Devuelve la longitud máxima de datos de un parámetro de llamada a un procedimiento almacenado remoto. La función srv_paraminfo ha reemplazado a esta.

Sintaxis

  
int srv_parammaxlen (  
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 de procedimiento almacenado extendido usa 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.

Devoluciones

La longitud máxima, 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.

Esta función devuelve los siguientes valores, si el parámetro es uno de los siguientes tipos de datos de Microsoft SQL Server.

Nuevos tipos de datos Longitud de datos de entrada
BITN NULL: 1

CERO: 1

>=255: N/A

<255: N/A
BIGVARCHAR NULL: 255

CERO: 255

>=255: 255

<255: 255
BIGCHAR NULL: 255

CERO: 255

>=255: 255

<255: 255
BIGBINARY NULL: 255

CERO: 255

>=255: 255

<255: 255
BIGVARBINARY NULL: 255

CERO: 255

>=255: 255

<255: 255
NCHAR NULL: 255

CERO: 255

>=255: 255

<255: 255
NVARCHAR NULL: 255

CERO: 255

>=255: 255

<255: 255
NTEXT NULL: -1

CERO: -1

>=255: -1

<255: -1

Comentarios

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 solo 10 bytes. La longitud real del parámetro es 10 y su longitud máxima es 30. La función srv_parammaxlen obtiene la longitud máxima de los datos de un procedimiento almacenado remoto. Para obtener la longitud real de un parámetro, use srv_paramlen.

Cuando se usan parámetros en una llamada a un procedimiento almacenado remoto, estos pueden pasarse por nombre o por posición (sin nombre). Se produce un error si la llamada al procedimiento almacenado remoto se realiza con algunos parámetros pasados por nombre y otros pasados 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.

Importante

Debe revisar minuciosamente 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.

Consulte también

srv_paraminfo (API de procedimiento almacenado extendido)
srv_rpcparams (API de procedimiento almacenado extendido)