Problem retrieving metadata on oracle 8.1.7
Posted: 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
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