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.
Devolve o comprimento de dados de um parâmetro de chamada de procedimento armazenado remoto. Esta função foi substituída pela função srv_paraminfo .
Syntax
int srv_paramlen (
SRV_PROC *
srvproc
,
int
n
);
Arguments
srvproc
É um ponteiro para a estrutura SRV_PROC que é o handle para uma ligação cliente particular (neste caso, o handle que recebeu a chamada remota ao procedimento armazenado). A estrutura contém informação que a biblioteca da API de Procedimentos Armazenados Estendidos utiliza para gerir a comunicação e os dados entre a aplicação e o cliente.
n
Indica o número do parâmetro. O primeiro parâmetro é 1.
Devoluções
O comprimento real, em bytes, dos dados do parâmetro. Se não houver um parâmetro n-ésimoou um procedimento armazenado remoto, devolve -1. Se o n-ésimoparâmetro for NULO, devolve 0.
Esta função devolve os seguintes valores, se o parâmetro for um dos seguintes tipos de dados do sistema Microsoft SQL Server 2005 (9.x).
| Novos tipos de dados | Comprimento dos dados de entrada |
|---|---|
| BITN |
NULL: 1 ZERO: 1 >=255: N/D <255: N/D |
| BIGVARCHAR |
NULL: 0 ZERO: 1 >=255: 255 <255:Len real |
| BIGCHAR |
NULL: 0 ZERO: 255 >=255: 255 <255: 255 |
| BIGBINARY |
NULL: 0 ZERO: 255 >=255: 255 <255: 255 |
| BIGVARBINARY |
NULL: 0 ZERO: 1 >=255: 255 <255:Len real |
| NCHAR |
NULL: 0 ZERO: 255 >=255: 255 <255: 255 |
| NVARCHAR |
NULL: 0 ZERO: 1 >=255: 255 <255:Len real |
| NTEXT |
NULL: -1 ZERO: -1 >=255: -1 <255: -1 |
* len real = Comprimento da cadeia de caracteres multibyte (cch)
Observações
Cada parâmetro de procedimento armazenado remoto tem um comprimento real e um comprimento máximo de dados. Para tipos de dados padrão de comprimento fixo que não permitem valores nulos, os comprimentos real e máximo são os mesmos. Para tipos de dados de comprimento variável, os comprimentos podem variar. Por exemplo, um parâmetro declarado como varchar(30) pode ter dados com apenas 10 bytes. O comprimento real do parâmetro é 10 e o seu comprimento máximo é 30. A função srv_paramlen obtém o comprimento real dos dados, em bytes, de um procedimento armazenado remotamente. Para obter o comprimento máximo de dados de um parâmetro, use srv_parammaxlen.
Quando é feita uma chamada remota de procedimento armazenado com parâmetros, estes podem ser passados por nome ou por posição (não nomeada). Se a chamada remota ao procedimento armazenado for feita com alguns parâmetros passados pelo nome e outros passados pela posição, ocorre um erro. O handler de SRV_RPC continua a ser chamado, mas parece que não houve parâmetros e srv_rpcparams devolve 0.
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.