Compartir a través de


srv_paramdata (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 el valor de un parámetro de llamada a un procedimiento almacenado remoto. La función srv_paraminfo ha reemplazado a esta.

Sintaxis

  
void * srv_paramdata (  
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 Procedimiento almacenado extendido usa para administrar la comunicación y los datos entre la aplicación y el cliente.

n
Es el número del parámetro. El primer parámetro es número 1.

Devoluciones

Un puntero al valor del parámetro. Si el parámetro n es NULL, no hay ningún parámetro de n o no hay ningún procedimiento almacenado remoto, devuelve NULL. Si el valor del parámetro es una cadena, no podría terminar en NULL. Use srv_paramlen para determinar la longitud de la cadena.

Esta función devuelve los valores siguientes, si el parámetro es uno de los tipos de datos de Microsoft SQL Server. Los datos de puntero incluyen si el puntero para el tipo de datos es válido (VP), NULL o no aplicable (N/A) y el contenido al que señalan los datos.

Nuevos tipos de datos Longitud de datos de entrada
BITN NULL: VP, NULL

CERO: VP, NULL

>=255: N/A

<255: N/A
BIGVARCHAR NULL: NULL, N/A

CERO: VP, NULL

>=255: VP, 255 caracteres

<255: VP, datos reales
BIGCHAR NULL: NULL, N/A

CERO: VP, 255 espacios

>=255: VP, 255 caracteres

<255: VP, datos reales + relleno (hasta 255)
BIGBINARY NULL: NULL, N/A

CERO: VP, 255 0x00

>=255: VP, 255 bytes

<255: VP, datos reales + relleno (hasta 255)
BIGVARBINARY NULL: NULL, N/A

ZERO: VP, 0x00

>=255: VP, 255 bytes

<255: VP, datos reales
NCHAR NULL: NULL, N/A

CERO: VP, 255 espacios

>=255: VP, 255 caracteres

<255: VP, datos reales + relleno (hasta 255)
NVARCHAR NULL: NULL, N/A

CERO: VP, NULL

>=255: VP, 255 caracteres

<255: VP, datos reales
NTEXT NULL: N/A

CERO: N/A

>=255: N/A

<255: N/A

* los datos no están terminados en null; no se emite ninguna advertencia al truncar los datos >de 255 caracteres.

Comentarios

Si conoce el nombre de parámetro, puede usar srv_paramnumber para obtener el número de parámetro. Para determinar si un parámetro es NULL, 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. Si se produce un error, se sigue llamando al controlador SRV_RPC, pero aparece 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_rpcparams (API de procedimiento almacenado extendido)