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
Base de Dados SQL do Azure
Azure SQL Managed Instance
Azure Synapse Analytics
Sistema de Plataforma de Análise (PDW)
O SQLBindParameter pode eliminar o peso da conversão de dados quando usado para fornecer dados ao driver ODBC do SQL Server Native Client, resultando em ganhos significativos de desempenho tanto para o cliente como para o servidor das aplicações. Outros benefícios incluem a redução da perda de precisão ao inserir ou atualizar tipos de dados numéricos aproximados.
Note
Ao inserir dados de tipos char e wchar numa coluna de imagem, utiliza-se o tamanho dos dados que estão a ser passados, em oposição ao tamanho dos dados após a conversão para um formato binário.
Se o driver ODBC do SQL Server Native Client encontrar um erro num único elemento do array de um array de parâmetros, o driver continua a executar a instrução para os restantes elementos do array. Se a aplicação tiver um array de elementos de estado de parâmetros para a instrução, as linhas de parâmetros que geram erros podem ser determinadas a partir do array.
Ao usar o driver ODBC SQL Server Native Client, especifique SQL_PARAM_INPUT ao ligar parâmetros de entrada. Só especifiquem SQL_PARAM_OUTPUT ou SQL_PARAM_INPUT_OUTPUT ao associar parâmetros de procedimento armazenado definidos com a palavra-chave OUTPUT.
O SQLRowCount é pouco fiável com o driver ODBC do SQL Server Native Client se um elemento de array de um array de parâmetros limitados causar um erro na execução da instrução. O atributo da instrução ODBC SQL_ATTR_PARAMS_PROCESSED_PTR reporta o número de linhas processadas antes do erro ocorrer. A aplicação pode então percorrer o seu array de estado de parâmetros para descobrir o número de instruções executadas com sucesso, se necessário.
Parâmetros de Ligação para Tipos de Caracteres SQL
Se o tipo de dado SQL passado for um tipo de carácter, ColumnSize é o tamanho em caracteres (não bytes). Se o comprimento da cadeia de dados em bytes for superior a 8000, o ColumnSize deve ser definido para SQL_SS_LENGTH_UNLIMITED, indicando que não há limite para o tamanho do tipo SQL.
Por exemplo, se o tipo de dado SQL for SQL_WVARCHAR, o Tamanho da Coluna não deve ser superior a 4000. Se o comprimento real dos dados for superior a 4000, então o ColumnSize deve ser definido para SQL_SS_LENGTH_UNLIMITED para que o nvarchar(max) seja usado pelo driver.
SQLBindParameter e Table-Valued Parameters
Tal como outros tipos de parâmetros, os parâmetros de tabela são limitados por SQLBindParameter.
Depois de um parâmetro com valores de tabela ter sido ligado, as suas colunas também são ligadas. Para associar as colunas, chama-se SQLSetStmtAttr para definir SQL_SOPT_SS_PARAM_FOCUS ao ordinal do parâmetro com valor de tabela. Depois, chama SQLBindParameter para cada coluna no parâmetro de valor de tabela. Para regressar às ligações de parâmetros de nível superior, defina SQL_SOPT_SS_PARAM_FOCUS a 0.
Para informações sobre o mapeamento de parâmetros para campos de descritores para parâmetros com valores de tabela, consulte Binding and Data Transfer of Table-Valued Parameters and Column Values.
Para mais informações sobre parâmetros com valores de tabela, veja Table-Valued Parâmetros (ODBC).
Suporte SQLBindParameter para funcionalidades melhoradas de data e hora
Os valores de parâmetros dos tipos de data/hora são convertidos conforme descrito em Conversões de C para SQL. Note-se que os parâmetros de Type time e datetimeoffset devem ter ValueType especificado como SQL_C_DEFAULT ou SQL_C_BINARY se forem usadas as suas estruturas correspondentes (SQL_SS_TIME2_STRUCT e SQL_SS_TIMESTAMPOFFSET_STRUCT).
Para obter mais informações, consulte Melhorias de data e hora (ODBC).
Suporte SQLBindParameter para grandes CLR UDTs
O SQLBindParameter suporta grandes tipos CLR definidos pelo utilizador (UDTs). Para obter mais informações, consulte Large CLR User-Defined Types (ODBC).