Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

A vinculação de int64 (SQL_BIGINT) como parâmetro de consulta causa erro durante a execução no Oracle 10g ODBC


O Guia de administração do Oracle 10g em Apêndice G.1 diz que o driver ODBC do Oracle 10g não suporta ou SQL_C_SBIGINT ou SQL_C_UBIGINT .

Assim como você, também descobrimos que em tempo de execução o SQLExecute() falha. E uma chamada para SQLGetDiagRec() não retorna nada, em vez de uma mensagem simples como "Oracle 10g does not support SQL_C_SBIGINT" . Grr....

De qualquer forma, o Apêndice G.1 não diz como você deveria vincular dados para enviar em uma tabela com uma coluna definida como NUMBER(20) . Portanto, todos nós temos que adivinhar e usar qualquer técnica (não documentada) que funcione. Seria bom se o Apêndice G.1 desse algum tipo de dica ou sugestão sobre o "melhor" caminho.

Se converter o número em uma string e depois vincular funcionar para você, fique com isso.