From: Nikolay S. <nik...@re...> - 2009-01-14 22:29:25
|
Alexander, Oracle is not quite easy when it comes to numeric data types. Native numeric in Oracle has 38 decimal digits, and as such can not always be represented as SQL_INTEGER. Can you take an Oracle instance, and see what is going on when using Firebird ODBC driver in the way described? This way we may let the users from bank's IT department use our Firebird data warehousing databases from their Oracle environment. Alexander Potapchenko wrote: > Hauser, Karsten wrote: > >> Here's the one without join: >> dg4odbcFORMICA f08-d50 EXIT SQLExecute with return code -1 (SQL_ERROR) >> HSTMT 01B51960 >> >> DIAG [01004] [ODBC Firebird Driver]Data truncated (0) >> >> DIAG [HY000] [ODBC Firebird Driver][Firebird]Dynamic SQL Error >> SQL error code = -303 >> conversion error from string " " (-303) >> ---------------------------- >> >> > I have considered this problem. > SQLBindParameter is called with wrong parameters, if NR is numeric then > fourth parameter must be SQL_INTEGER but not SQL_C_CHAR. (Oracle bug?) > In this case if ? (the parameter) is not equal number (" " in your case) > then Firebird engine can not execute this query without specific > conversion to char type (TRIM converts to char type). > I can recommend to use the following: > SELECT "NR" FROM "PERSONAL" WHERE ?= cast("NR" as varchar(10)). > > Regards > Alexander > -- Nikolay Samofatov, MBA Red Soft International +1 416 710 6854 |