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

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
    Actualmente no se admite. 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, indica que 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. Se debe especificar el tipo de datos incluso si los datos son NULL, para 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. Para los tipos de datos de longitud fija que no permiten valores NULL, destlen se omite. Para los tipos de datos de longitud variable y los tipos de datos de longitud fija que permiten valores NULL, destlen especifica el límite de longitud para 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 en los datos para colnumber en srcdata. Por consiguiente, no se debería liberar antes de llamar a srv_sendrow. La dirección del dato de origen se puede cambiar entre las llamadas a srv_sendrow mediante srv_setcoldata. La memoria asignada para srcdata no se debería 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.

Devuelve

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

Notas

Se debe llamar a la función srv_describe una vez para cada columna en 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 longitud de los datos de origen en filas de la 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 tipos de datos y de las conversiones de tipos de datos API Procedimiento almacenado extendido, vea Tipos de datos (API de procedimiento almacenado extendido).

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

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.