Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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.