srv_describe (API de procedimento armazenado estendido)
Aplica-se: SQL Server
Importante
Esse recurso será removido em uma versão futura do SQL Server. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam. Use a integração CLR em vez disso.
Define o nome da coluna e os tipos de dados da origem e do destino de uma coluna específica em sequência.
Sintaxe
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
Trata-se de um ponteiro para a estrutura SRV_PROC, que é o identificador de uma conexão de cliente específica (nesse caso, o cliente que envia a linha). A estrutura contém todas as informações que a biblioteca de APIs de Procedimento Armazenado Estendido usa para gerenciar as comunicações e os dados entre o aplicativo e o cliente.
colnumber
Atualmente ele não tem suporte. As colunas devem ser descritas em ordem. Todas as colunas devem ser descritas antes de srv_sendrow ser chamado.
column_name
Especifica o nome da coluna à qual pertencem os dados. Esse parâmetro pode ser NULL, porque não é obrigatório que uma coluna tenha um nome.
namelen
Especifica o tamanho, em bytes, de column_name. Se namelen for SRV_NULLTERM, column_name deverá terminar em nulo.
desttype
Especifica o tipo de dados da coluna da linha de destino. Trata-se do tipo de dados enviado ao cliente. O tipo de dados deve ser especificado mesmo que os dados sejam NULL, para obter mais informações, consulte Tipos de dados (API de procedimento armazenado estendido).
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, destlen é ignorado. Para tipos de dados de comprimento variável e tipos de dados de comprimento fixo que permitem valores nulos, destlen especifica o tamanho máximo que os dados de destino podem ter.
srctype
Especifica o tipo dos dados de origem.
srclen
Especifica o comprimento, em bytes, dos dados de origem. Esse valor é ignorado em tipos de dados de comprimento fixo.
srcdata
Fornece o endereço dos dados de origem de uma determinada coluna. Quando srv_sendrow é chamado, ele procura os dados de colnumber em srcdata. Por isso, ele não deve ser liberado antes de uma chamada para srv_sendrow. O endereço dos dados de origem pode ser alterado entre chamadas para srv_sendrow, usando srv_setcoldata. A memória alocada para srcdata não deve ser liberada até que os dados da coluna sejam substituídos por outra chamada para srv_setcoldata ou até que srv_senddone seja chamado.
Caso desttype seja SRVDECIMAL ou SRVNUMERIC, o parâmetro srcdata deverá ser um ponteiro para uma estrutura DBNUMERIC ou DBDECIMAL com os campos de precisão e escala da estrutura já definidos com os valores desejados. É possível 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. Caso ocorra um erro, retorna 0.
Comentários
A função srv_describe deve ser chamada uma vez a cada coluna na linha antes da primeira chamada a srv_sendrow. As colunas de uma linha podem ser descritas em qualquer ordem.
Para alterar o local e o tamanho dos dados de origem nas linhas da coluna antes de o conjunto de resultados completo ser enviado, use srv_setcoldata e srv_setcollen, respectivamente.
Para obter uma descrição dos tipos de dados e das conversões de tipo de dados da API de Procedimento de Repositório Estendido, consulte Tipos de Dados (API de Procedimento Armazenado Estendido).
Caso o nome da coluna do aplicativo esteja em Unicode, você precisará convertê-lo na página de código multibyte do servidor antes de chamar srv_describe. Para obter mais informações, consulte Páginas de código do servidor e dados Unicode.
Importante
Você deve examinar totalmente o código-fonte de procedimentos armazenados estendidos e deve testar as DLLs compiladas antes de instalá-las em um servidor de produção. Para obter informações sobre revisão e testes de segurança, consulte este site da Microsoft.
Confira também
srv_sendrow (API de procedimento armazenado estendido)
srv_setutype (API de procedimento armazenado estendido)
srv_setcoldata (API de procedimento armazenado estendido)