Problem retrieving metadata on oracle 8.1.7

Discussion of open issues, suggestions and bugs regarding ODAC (Oracle Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
Scharioth
Posts: 3
Joined: Mon 07 Dec 2009 09:20

Problem retrieving metadata on oracle 8.1.7

Post by Scharioth » Wed 19 Jan 2011 11:04

Hello,

when odac tries to retrive metadata against Oracle 8.1.7, i get the
following error: Ora-00904 invalid column name.

I checked this with the odac demo "Master/detail" and i get the same
error after changing ,for example, the salary value in a row.

After analyzing the metadata statements against Oracle 10gR2, i come
to the following problem:

odac issued the following statement for metadata:

SELECT '' TABLE_CATALOG, IC.TABLE_OWNER TABLE_SCHEMA, IC.TABLE_NAME, '' INDEX_CATALOG,
IC.INDEX_OWNER INDEX_SCHEMA, IC.INDEX_NAME, IC.COLUMN_NAME, IC.COLUMN_POSITION,
DECODE(IC.DESCEND, 'ASC', 0, 1) DESCENDING FROM SYS.ALL_IND_COLUMNS IC, SYS.ALL_INDEXES I,
SYS.ALL_CONSTRAINTS C WHERE IC.TABLE_OWNER = 'DERMLAB' AND IC.TABLE_NAME = 'J'
AND I.UNIQUENESS = 'UNIQUE' AND I.OWNER = IC.INDEX_OWNER AND
I.INDEX_NAME = IC.INDEX_NAME AND C.TABLE_NAME (+) = IC.TABLE_NAME AND
C.INDEX_NAME (+) = IC.INDEX_NAME ORDER BY DECODE(C.CONSTRAINT_TYPE, 'P', 1, 'U', 2, 3)
, IC.INDEX_OWNER, IC.TABLE_OWNER, IC.TABLE_NAME, IC.INDEX_NAME, IC.COLUMN_POSITION

The problem is, that the columns c.index_name in table
SYS.ALL_CONSTRAINTS does not exists in Oracle 8.1.7
and therefore the error occured.

In Oracle 10gR2 this table has index- information and the select above works.

So, what can i do? is there a switch for changing metadata statements to
support Oracle 8i?
Or must i disable metadata retrieval?

Greetings

Jürgen

AlexP
Devart Team
Posts: 5530
Joined: Tue 10 Aug 2010 11:35

Post by AlexP » Wed 19 Jan 2011 11:35

Hello,

Thank you for the information.
We have already fixed the problem.
This fix will be included in the next build.

Post Reply