Partilhar via


Verificações de valor de argumento

O Gerenciador de Driver verifica os seguintes tipos de argumentos. Salvo indicação em contrário, o Gerenciador de Driver retorna SQL_ERROR para erros nos valores dos argumentos.

  • Os identificadores de ambiente, conexão e instrução geralmente não podem ser ponteiros nulos. O Gerenciador de Driver retorna SQL_INVALID_HANDLE quando encontra um identificador nulo.

  • Os argumentos de ponteiro necessários, como OutputHandlePtr em SQLAllocHandle e CursorName em SQLSetCursorName, não podem ser ponteiros nulos.

  • Os sinalizadores de opção que não suportam valores específicos de driver devem ser um valor legal. Por exemplo, Operation em SQLSetPos deve ser SQL_POSITION, SQL_REFRESH, SQL_UPDATE, SQL_DELETE ou SQL_ADD.

  • Os sinalizadores de opção devem ser compatíveis com a versão do ODBC suportada pelo driver. Por exemplo, InfoType em SQLGetInfo não pode ser SQL_ASYNC_MODE (introduzido no ODBC 3.0) ao chamar um driver ODBC 2.0.

  • Os números das colunas e dos parâmetros devem ser maiores que 0 ou maiores ou iguais a 0, dependendo da função. O driver deve verificar o limite superior desses valores de argumento com base no conjunto de resultados ou na instrução SQL atual.

  • Os argumentos de comprimento/indicador e de comprimento do buffer de dados devem conter valores apropriados. Por exemplo, o argumento que especifica o comprimento de um nome de tabela em SQLColumns(NameLength3) deve ser SQL_NTS ou um valor maior que 0; BufferLength em SQLDescribeCol deve ser maior ou igual a 0. O driver também pode precisar verificar esses argumentos. Por exemplo, ele pode verificar se NameLength3 é menor ou igual ao comprimento máximo de um nome de tabela na fonte de dados.