Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Das Binden von int64 (SQL_BIGINT) als Abfrageparameter verursacht einen Fehler während der Ausführung in Oracle 10g ODBC

Das Oracle 10g-Administratorhandbuch in Anhang G.1 sagt, dass der Oracle 10g ODBC-Treiber keine Unterstützung bietet entweder SQL_C_SBIGINT oder SQL_C_UBIGINT .

Wie Sie finden auch wir das zur Laufzeit SQLExecute() scheitert. Und ein Aufruf von SQLGetDiagRec() gibt nichts zurück, statt einer einfachen Meldung wie "Oracle 10g does not support SQL_C_SBIGINT" . Grr....

Jedenfalls sagt Anhang G.1 nicht, wie Sie sollten Binden Sie zu sendende Daten in eine Tabelle mit einer Spalte, die wie NUMBER(20) definiert ist . Also müssen wir alle raten und jede (undokumentierte) Technik anwenden, die funktioniert. Es wäre schön, wenn der Anhang G.1 einen Hinweis oder Vorschlag zum "besten" Weg geben würde.

Wenn das Konvertieren der Zahl in eine Zeichenfolge und das anschließende Binden für Sie funktioniert, bleiben Sie dabei.