Partilhar via


Verificações de valor de argumento

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

  • Ambiente, ligação e handles de declarações geralmente não podem ser ponteiros nulos. O Driver Manager devolve SQL_INVALID_HANDLE quando encontra um handle nulo.

  • Argumentos de ponteiro obrigatórios, como OutputHandlePtr em SQLAllocHandle e CursorName em SQLSetCursorName, não podem ser ponteiros nulos.

  • Flags de opção que não suportam valores específicos do driver devem ser um valor válido. Por exemplo, a Operação em SQLSetPos deve ser SQL_POSITION, SQL_REFRESH, SQL_UPDATE, SQL_DELETE ou SQL_ADD.

  • As flags de opção devem ser suportadas na versão de ODBC suportada pelo driver. Por exemplo, o 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 parâmetros devem ser maiores que 0 ou maiores ou iguais a 0, dependendo da função. O driver deve verificar o limite superior destes valores de argumento com base no conjunto de resultados atual ou na instrução SQL.

  • Argumentos de comprimento/indicador e argumentos 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 superior a 0; O BufferLength em SQLDescribeCol deve ser maior ou igual a 0. O condutor pode também precisar de verificar estes argumentos. Por exemplo, pode verificar se NameLength3 é menor ou igual ao comprimento máximo de um nome de tabela na fonte de dados.