Compartir vía


srv_describe (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.

Define el nombre de columna y los tipos de datos de origen y destino para una columna específica de una fila.

Sintaxis

  
int srv_describe (  
SRV_PROC *  
srvproc  
,  
int  
colnumber  
,  
DBCHAR *  
column_name  
,  
int  
namelen  
,  
DBINT  
desttype  
,  
DBINT  
destlen  
,  
DBINT  
srctype  
,  
DBINT  
srclen  
,  
void *  
srcdata  
);  

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 cliente que envía la fila). La estructura contiene toda la información que la biblioteca de API Procedimiento almacenado extendido usa para administrar las comunicaciones y los datos entre la aplicación y el cliente.

colnumber
No se admite actualmente. Las columnas se deben describir en orden. Todas las columnas se deben describir antes de llamar a srv_sendrow.

column_name
Especifica el nombre de la columna a la que pertenecen los datos. Este parámetro puede ser NULL porque no es preciso que una columna tenga nombre.

namelen
Especifica la longitud en bytes de column_name. Si namelen es SRV_NULLTERM, column_name debe terminar en NULL.

desttype
Especifica el tipo de datos de la columna de fila de destino. Éste es el tipo de datos que se envía al cliente. El tipo de datos debe especificarse incluso si los datos son NULL, para obtener más información, vea Tipos de datos (API de procedimiento almacenado extendido) .

destlen
Especifica la longitud, en bytes, de los datos que se envían al cliente. En los tipos de datos de longitud fija que no permiten valores NULL, destlen se omite. En los tipos de datos de longitud variable y los tipos de datos de longitud fija que permiten valores NULL, destlen especifica la longitud máxima de los datos de destino.

srctype
Especifica el tipo de datos de los datos de origen.

srclen
Especifica la longitud en bytes de los datos de origen. Este valor se pasa por alto en los tipos de datos de longitud fija.

srcdata
Proporciona la dirección de los datos de origen para una columna determinada. Cuando se llama a srv_sendrow, busca los datos de colnumber en srcdata. Por consiguiente, no se debería liberar antes de llamar a srv_sendrow. La dirección de los datos de origen se puede cambiar entre las llamadas a srv_sendrow mediante srv_setcoldata. La memoria asignada a srcdata no se debe liberar hasta que los datos de la columna se sustituyan por otra llamada a srv_setcoldata, o hasta que se realice una llamada a srv_senddone.

Si desttype es SRVDECIMAL o SRVNUMERIC, el parámetro srcdata debe ser un puntero a una estructura DBNUMERIC o DBDECIMAL con los campos de escala y precisión de la estructura ya establecidos en los valores deseados. Puede usar DEFAULTPRECISION para especificar una precisión predeterminada y DEFAULTSCALE para especificar una escala predeterminada.

Devoluciones

El número de la columna descrita. La primera columna es la columna 1. Si se produce un error, devuelve 0.

Comentarios

Se debe llamar a la función srv_describe una vez por cada columna de la fila antes de realizar la primera llamada a srv_sendrow. Las columnas de una fila se pueden describir en cualquier orden.

Para cambiar la ubicación y la longitud de los datos de origen en las filas de columna antes de que se haya enviado el conjunto de resultados completo, use srv_setcoldata y srv_setcollen, respectivamente.

Para obtener una descripción de los tipos de datos y las conversiones de tipos de datos de la API de procedimiento de almacén extendido, consulte Tipos de datos (API de procedimiento almacenado extendido) .

Si el nombre de columna de la aplicación se encuentra en formato Unicode, debe convertirlo a la página de códigos multibyte del servidor antes de llamar a srv_describe. Para más información, vea Datos Unicode y páginas de códigos de servidor.

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_sendrow (API de procedimiento almacenado extendido)
srv_setutype (API de procedimiento almacenado extendido)
srv_setcoldata (API de procedimiento almacenado extendido)