O último parâmetro - IndicatorValue - na função CLI SQLBindFileToParam() está documentado atualmente como "saída (adiada)". Ele deve ser "entrada (adiada)".
As seguintes atualizações são inclusões na coluna "Descrição" para os argumentos SQL_DESC_AUTO_UNIQUE_VALUE e SQL_DESC_UPDATABLE:
O texto a seguir substitui a sentença atual que aparece na colune Explicação para SQLSTATE 22007 da tabela SQLSTATEs para SQLGetData:
A conversão de uma cadeia para um formato de data e hora foi indicada, mas uma representação ou valor de cadeia inválido foi especificado, ou o valor era uma data inválida.
A informação a seguir corrige as informações na seção "Uso" sob "Informações Retornadas pelo SQLGetInfo":
A informação a seguir corrige a nota de rodapé na "Tabela 113. Argumentos de SQLGetLength" :
Nota: a Isso está em caracteres para dados DBCLOB.
O seguinte texto deve ser incluído no Capítulo 5, "Funções do DB2 CLI":
Especificação: DB2 CLI 7.x
SQLRETURN SQLNextResult (SQLHSTMT StatementHandle1 SQLHSTMT StatementHandle2);
Tabela 14. Argumentos SQLNextResult
Tipo de Dados | Argumento | Uso | Descrição |
---|---|---|---|
SQLHSTMT | StatementHandle | entrada | Manipulação de instrução. |
SQLHSTMT | StatementHandle | entrada | Manipulação de instrução. |
Um procedimento armazenado retorna vários conjuntos de resultados deixando um ou mais cursores abertos após a saída. O primeiro conjunto de resultados é sempre acessado através da manipulação de instrução chamada pelo procedimento armazenado. Se vários conjuntos de resultados forem retornados, o SQLMoreResults() ou o SQLNextResult() poderão ser utilizados para descrever e buscar o conjunto de resultados.
SQLMoreResults() é utilizado para fechar o cursor do primeiro conjunto de resultados e permitir que o próximo seja processado, contanto que SQLNextResult() mova o próximo conjunto de resultados paraStatementHandle2, sem fechar o cursor em StatementHandle1. Ambas as funções retornarão SQL_NO_DATA_FOUND, se não houver nenhum conjunto de resultados para ser buscado.
O uso de SQLNextResult() permite que os conjuntos de resultados sejam processados em qualquer ordem depois de terem sido transferidos para outras manipulações de instrução. Chamadas mistas a SQLMoreResults() e a SQLNextResult() são permitidas até que não haja mais cursores (conjuntos de resultados abertos) em StatementHandle1.
Quando SQLNextResult() retorna SQL_SUCCESS, o próximo conjunto de resultados não é mais associado a StatementHandle1. Ao invés disso, o próximo conjunto de resultados é associado a StatementHandle2, como se uma chamada a SQLExecDirect() tivesse executado com sucesso uma consulta em StatementHandle2. O cursor, portanto, pode ser descrito utilizando SQLNumResultSets(), SQLDescribeCol() ou SQLColAttribute().
Após SQLNextResult() ter sido chamado, o conjunto de resultados agora associado a StatementHandle2 será removido da cadeia de conjuntos de resultados restantes e não poderá ser utilizado novamente em SQLNextResult() ou SQLMoreResults(). Isso significa que para 'n' conjuntos de resultados, SQLNextResult() pode ser chamado com sucesso no máximo 'n-1' vezes.
Se SQLFreeStmt() for chamado com a opção SQL_CLOSE ou SQLFreeHandle() for chamado com HandleType definido para SQL_HANDLE_STMT, todos os conjuntos de resultados pendentes nessa manipulação de instrução serão descartados.
SQLNextResult() retorna SQL_ERROR se StatementHandle2 tiver um cursor aberto ou StatementHandle1 e StatementHandle2 não estiverem na mesma conexão. Se forem retornados quaisquer erros ou avisos, SQLError() deverá sempre ser chamado em StatementHandle1.
Tabela 15. SQLNextResult SQLSTATEs
SQLSTATE | Descrição | Explicação |
---|---|---|
40003 08S01 | Falha no link de comunicação. | O link de comunicação entre o aplicativo e a origem de dados falhou antes da conclusão da função. |
58004 | Queda do sistema inesperada. | Erro do sistema irrecuperável. |
HY001 | Falha na alocação de memória. | O DB2 CLI não consegue alocar a memória requerida para suportar a execução ou a conclusão da função. |
HY010 | Erro de seqüência da função. |
A função foi chamada durante uma operação de dados na execução (SQLParamData(), SQLPutData()). StatementHandle2 tem um cursor aberto associado a ele. A função foi chamada durante uma operação BEGIN COMPOUND e END COMPOUND
SQL.
|
HY013 | Erro inesperado de manipulação de memória. | O DB2 CLI não consegue acessar a memória requerida para suportar a execução ou a conclusão da função. |
HYT00 | Tempo limite expirado. | O período de timeout expirou antes da origem de dados retornar o conjunto de resultados. Os tempos limite são suportados somente em sistemas de multitarefas, como o Windows 3.1 e o Macintosh System 7. O período de timeout pode ser definido utilizando-se o atributo SQL_ATTR_QUERY_TIMEOUT para SQLSetConnectAttr(). |
Somente SQLMoreResults() pode ser utilizado para consultas de parâmetros.
O seguinte é um atributo de ambiente adicional que pertence à seção "Atributos de Ambiente", em "Uso":
As informações a seguir substituem as informações existentes para o atributo de instrução SQL_ATTR_QUERY_TIMEOUT: