srv_paramdata (API de procedimiento almacenado extendido)

Nota importanteImportante

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, use la integración CLR.

Devuelve el valor de un parámetro de llamada a un procedimiento almacenado remoto. La función srv_paraminfo ha sustituido esta función.

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.

Devuelve

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 tipos de datos de MicrosoftSQL 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

ZERO: VP, NULL

>= 255: N/A

<255: N/A

BIGVARCHAR

NULL: NULL, N/A

ZERO: VP, NULL

>= 255: VP, 255 caracteres

<255: VP, datos reales

BIGCHAR

NULL: NULL, N/A

ZERO: VP, 255 espacios

>= 255: VP, 255 caracteres

<255: VP, datos reales + relleno (hasta 255)

BIGBINARY

NULL: NULL, N/A

ZERO: 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

ZERO: VP, 255 espacios

>= 255: VP, 255 caracteres

<255: VP, datos reales + relleno (hasta 255)

NVARCHAR

NULL: NULL, N/A

ZERO: VP, NULL

>= 255: VP, 255 caracteres

<255: VP, datos reales

NTEXT

NULL: N/A

ZERO: N/A

>= 255: N/A

<255: N/A

*   los datos no terminan en NULL; no se genera ninguna advertencia de truncamiento en los datos >255 caracteres.

Notas

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.

Nota de seguridadNota 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.