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.