Compartilhar via


srv_paramdata (API de procedimento armazenado estendido)

Observação importanteImportante

Esse recurso será removido em uma versão futura do Microsoft SQL Server. Não utilize esse recurso em desenvolvimentos novos e modifique, assim que possível, os aplicativos que atualmente o utilizam. Em vez disso, use a integração CLR.

Retorna o valor de um parâmetro de chamada de procedimento armazenado remoto. Esta 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.

Retorna

Um ponteiro para o valor do parâmetro. Se o n-ésimo parâmetro for NULL, se não houver n-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 comprimento da cadeia de caracteres.

Esta 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

BIGCHAR

NULL: NULL, N/A

ZERO: VP, 255 espaços

>=255: VP, 255 caracteres

<255: VP, dados + preenchimento (até 255)

BIGBINARY

NULL: NULL, N/A

ZERO: VP, 255 0x00

>=255: VP, 255 bytes

<255: VP, dados + preenchimento (até 255)

BIGVARBINARY

NULL: NULL, N/A

ZERO: VP, 0x00

>=255: VP, 255 bytes

<255: VP, dados

NCHAR

NULL: NULL, N/A

ZERO: VP, 255 espaços

>=255: VP, 255 caracteres

<255: VP, dados + preenchimento (até 255)

NVARCHAR

NULL: NULL, N/A

ZERO: VP, NULL

>=255: VP, 255 caracteres

<255: VP, dados

NTEXT

NULL: N/A

ZERO: N/A

>=255: N/A

<255: N/A

* dados não são terminados com caractere nulo; nenhuma advertência é emitida em truncamento de dados > 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. Se um ocorrer erro, o manipulador SRV_RPC ainda será chamado, mas ele aparece como se não houvesse parâmetros e srv_rpcparams retorna 0.

Observação sobre segurançaObservação sobre segurança

Você deve examinar cuidadosamente o código-fonte de procedimentos armazenados estendidos e 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.