srv_paramdata (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.
Retorna o valor de um parâmetro de chamada de procedimento armazenado remoto. Essa função foi substituída pela função srv_paraminfo.
Sintaxe
void * srv_paramdata (
SRV_PROC *
srvproc
,
int
n
);
Argumentos
srvproc
É um ponteiro para a estrutura SRV_PROC que identifica uma conexão de cliente específica (nesse caso, o identificador que recebeu a chamada do procedimento armazenado remoto). A estrutura contém informações que a biblioteca do procedimento armazenado estendido usa para gerenciar a comunicação e os dados entre o aplicativo e o cliente.
n
É o número do parâmetro. O primeiro parâmetro equivale ao número 1.
Devoluções
Um ponteiro para o valor do parâmetro. Se o n-ésimo parâmetro for NULL, se não houver n-ésimo parâmetro ou não houver procedimento armazenado remoto, retornará NULL. Se o valor do parâmetro for uma cadeia de caracteres, ele não pode terminar com caractere nulo. Use srv_paramlen para determinar o tamanho da cadeia de caracteres.
Essa função retornará os valores a seguir, se o parâmetro for um dos tipos de dados do Microsoft SQL Server. Os dados de ponteiro indicam se o ponteiro para o tipo de dados é válido (VP), NULL ou não aplicável (N/A) e o conteúdo dos dados apontados.
Novos tipos de dados | Comprimento dos dados de entrada |
---|---|
BITN | NULL: VP, NULL ZERO: VP, NULL >=255: N/A <255: N/A |
BIGVARCHAR | NULL: NULL, N/A ZERO: VP, NULL >=255: VP, 255 caracteres <255: VP, dados reais |
BIGCHAR | NULL: NULL, N/A ZERO: VP, 255 espaços >=255: VP, 255 caracteres <255: VP, dados reais + preenchimento (até 255) |
BIGBINARY | NULL: NULL, N/A ZERO: VP, 255 0x00 >=255: VP, 255 bytes <255: VP, dados reais + preenchimento (até 255) |
BIGVARBINARY | NULL: NULL, N/A ZERO: VP, 0x00 >=255: VP, 255 bytes <255: VP, dados reais |
NCHAR | NULL: NULL, N/A ZERO: VP, 255 espaços >=255: VP, 255 caracteres <255: VP, dados reais + preenchimento (até 255) |
NVARCHAR | NULL: NULL, N/A ZERO: VP, NULL >=255: VP, 255 caracteres <255: VP, dados reais |
NTEXT | NULL: N/A ZERO: N/A >=255: N/A <255: N/A |
* os dados não são terminados em nulo; Nenhum aviso é emitido sobre truncamento para dados >de 255 caracteres.
Comentários
Se você souber o nome do parâmetro, poderá usar srv_paramnumber para obter o número do parâmetro. Para determinar se um parâmetro é NULL, use srv_paramlen.
Quando uma chamada de procedimento armazenado remoto for feita com parâmetros, os parâmetros poderão ser passados pelo nome ou pela posição (sem-nome). Se a chamada de procedimento armazenado remoto for feita com alguns parâmetros transmitidos pelo nome e outros pela posição, ocorrerá um erro. Em caso de erro, o manipulador SRV_RPC ainda será chamado, mas aparecerá como se não houvesse parâmetros e srv_rpcparams retornará 0.
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.