Skip to content

Data/ODBC: Oracle integer types fail with v23 driver #5002

@aleks-f

Description

@aleks-f

Oracle essentially has no integer type; we tried to work around it so that we don't have to use double for any numeric value, but newer ODBC drivers (v23 in particular) take an issue with it:

Binding is ok:

[ODBC][22923][1755812435.900928][SQLBindCol.c][245]
		Entry:
			Statement = 0xaaaae95f8370
			Column Number = 1
			Target Type = -25 SQL_C_SBIGINT
			Target Value = 0xaaaae9601598
			Buffer Length = 8
			StrLen Or Ind = 0xaaaae9600b80
[ODBC][22923][1755812435.900930][SQLBindCol.c][353]
		Exit:[SQL_SUCCESS]

But fetching the data is not:

[ODBC][22923][1755812435.901763][SQLFetch.c][352]
		Exit:[SQL_ERROR]
[ODBC][22923][1755812435.901767][SQLGetDiagRec.c][681]
		Entry:
			Statement = 0xaaaae95f8370
			Rec Number = 1
			SQLState = 0xfffffc65a0a0
			Native = 0xfffffc65a2a8
			Message Text = 0xfffffc65a0a6
			Buffer Length = 513
			Text Len Ptr = 0xfffffc65a098
		DIAG [HY004] [Oracle][ODBC]Invalid SQL data type <-25>.

And so, I guess all numbers in Oracle will have to be treated as double.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions