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.