srv_describe (API de Procedimentos Armazenados Estendidos)

Aplica-se a: SQL Server

Importante

Esse recurso será removido em uma versão futura do SQL Server. Evite usar esse recurso em novos trabalhos de desenvolvimento e planeje modificar aplicativos que atualmente usam esse recurso. Usa antes a integração CLR.

Define o nome da coluna e os tipos de dados de origem e destino para uma coluna específica numa linha.

Syntax

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

Arguments

srvproc
É um apontador para a estrutura SRV_PROC que é o handle para uma determinada ligação cliente (neste caso, o cliente que envia a linha). A estrutura contém toda a informação que a biblioteca da API de Procedimentos Armazenados Estendidos utiliza para gerir comunicações e dados entre a aplicação e o cliente.

colnumber
Atualmente não é suportado. As colunas devem ser descritas por ordem. Todas as colunas devem ser descritas antes de srv_sendrow ser chamado.

column_name
Especifica o nome da coluna a que os dados pertencem. Este parâmetro pode ser NULL porque uma coluna não é obrigada a ter um nome.

Namelen
Especifica o comprimento, em bytes, de column_name. Se namelen for SRV_NULLTERM, então column_name deve ser terminada por nulo.

desttype
Especifica o tipo de dado da coluna de linha de destino. Este é o tipo de dado enviado ao cliente. O tipo de dados deve ser especificado mesmo que os dados sejam NULL; para mais informações, consulte Tipos de Dados (API de Procedimentos Armazenados Estendidos).

Destlen
Especifica o comprimento, em bytes, dos dados a serem enviados ao cliente. Para tipos de dados de comprimento fixo que não permitem valores nulos, o destlen é ignorado. Para tipos de dados de comprimento variável e de comprimento fixo que permitam valores nulos, o destlen especifica o comprimento máximo que os dados de destino podem ter.

srctype
Especifica o tipo de dado dos dados de origem.

srclen
Especifica o comprimento, em bytes, dos dados de origem. Este valor é ignorado para tipos de dados de comprimento fixo.

srcdata
Fornece o endereço de dados de origem para uma determinada coluna. Quando srv_sendrow é chamado, procura os dados do número de col no srcdata. Por isso, não deve ser libertado antes de um apelo para srv_sendrow. O endereço de dados de origem pode ser alterado entre chamadas para srv_sendrow usando srv_setcoldata. A memória alocada para srcdata não deve ser libertada até que os dados da coluna sejam substituídos por outra chamada para srv_setcoldata, ou até que srv_senddone seja chamada.

Se o desttype for SRVDECIMAL ou SRVNUMERIC, o parâmetro srcdata deve ser um apontador para uma estrutura DBNUMERIC ou DBDECIMAL, com os campos de precisão e escala da estrutura já definidos para os valores desejados. Pode usar DEFAULTPRECISION para especificar uma precisão padrão, e DEFAULTSCALE para especificar uma escala padrão.

Devoluções

O número da coluna descrita. A primeira coluna é a coluna 1. Se ocorrer um erro, retorna 0.

Observações

A função srv_describe deve ser chamada uma vez por cada coluna da linha antes da primeira chamada para srv_sendrow. As colunas de uma linha podem ser descritas em qualquer ordem.

Para alterar a localização e o comprimento dos dados de origem em linhas de coluna antes de o conjunto completo de resultados ter sido enviado, use srv_setcoldata e srv_setcollen, respetivamente.

Para uma descrição dos tipos de dados e das conversões de tipos de dados da API de Procedimentos de Armazenamento Estendidos, consulte Tipos de Dados (API de Procedimentos Armazenados Estendidos).

Se o nome da coluna na sua aplicação estiver em Unicode, precisa de o converter para a página de código multibyte do servidor antes de srv_describe. Para mais informações, consulte Páginas de Código de Dados Unicode e Servidores.

Importante

Deves rever cuidadosamente o código-fonte dos procedimentos armazenados estendidos e deves testar as DLLs compiladas antes de as instalares num servidor de produção. Para informações sobre revisão e testes de segurança, consulte este site da Microsoft.