Oracle
 sql >> Base de données >  >> RDS >> Oracle

La liaison int64 (SQL_BIGINT) en tant que paramètre de requête provoque une erreur lors de l'exécution dans Oracle 10g ODBC

Le Guide d'administration Oracle 10g dans Annexe G.1 indique que le pilote ODBC Oracle 10g ne prend pas en charge soit SQL_C_SBIGINT ou SQL_C_UBIGINT .

Comme vous, nous constatons également qu'au moment de l'exécution, le SQLExecute() échoue. Et un appel à SQLGetDiagRec() ne renvoie rien, plutôt qu'un simple message du type "Oracle 10g does not support SQL_C_SBIGINT" . Grr....

Quoi qu'il en soit, l'annexe G.1 ne dit pas comment vous devriez lier les données à envoyer dans une table avec une colonne définie comme NUMBER(20) . Nous devons donc tous deviner et utiliser la technique (non documentée) qui fonctionne. Ce serait bien si l'annexe G.1 donnait une sorte d'indice ou de suggestion quant à la "meilleure" façon.

Si la conversion du nombre en chaîne puis la liaison fonctionne pour vous, tenez-vous-en à cela.