sql >> Database >  >> RDS >> Oracle

Binding int64 (SQL_BIGINT) als queryparameter veroorzaakt een fout tijdens de uitvoering in Oracle 10g ODBC

De Oracle 10g Admin Guide in Bijlage G.1 zegt dat het Oracle 10g ODBC-stuurprogramma niet ondersteunt ofwel SQL_C_SBIGINT of SQL_C_UBIGINT .

Net als u vinden we ook dat tijdens runtime de SQLExecute() mislukt. En een aanroep van SQLGetDiagRec() retourneert niets, in plaats van een eenvoudig bericht zoals "Oracle 10g does not support SQL_C_SBIGINT" . Grr....

Hoe dan ook, de Bijlage G.1 zegt niet hoe u moet bind data om naar een tabel te sturen met een kolom gedefinieerd als NUMBER(20) . Dus we moeten allemaal raden en gebruiken welke (ongedocumenteerde) techniek werkt. Het zou leuk zijn als bijlage G.1 een soort hint of suggestie zou geven over de "beste" manier.

Als het converteren van het getal naar een tekenreeks en vervolgens binden voor jou werkt, houd je daar dan aan.




  1. Wat is het verschil tussen -Xss en -XX:ThreadStackSize?

  2. 5 gewoonten voor databasebewaking van succesvolle DBA's

  3. Geen geschikte driver gevonden voor jdbc:postgresql://192.168.1.8:5432/NexentaSearch

  4. mysqli niet ondersteund in google app engine met php