Select text from all_views returns an empty string
723486Nov 4 2009 — edited Nov 4 2009My application allows the user to select between the Data Provider for ODBC and the Data Provider for Oracle. (ODP)
When using the ODBC provider the statement:
Select text from all_views where view_name='MYVIEW'
returns the expected string.
If I connect via ODP however it returns an empty string.
(If I use 'Select *' it tells me the text_length is 154 in this specific case - so there is definately text available.)
I'm thinking it has something to do with the fact that the data type is LONG.
In both cases I retreive the data using rdr.GetChars(), which should work.
If I use the dbms_metadata.get_ddl function instead, it does return the string (Probably because the return type is not LONG)
Unfortunately that function only works for Views in the current schema, while the original Select works for any view.
(And I dont know what version of Oracle this function was added in - I have to support older versions too.)
Similarly, if I use one of the XML functions to retreive the text as XML it works fine.
(Again it is probably returned as a VARCHAR2 instead of a LONG.)
The strange thing is that when I created my own table containing a LONG column I was able to load and retreive data without any problems.
The problem appears to be specific to this column in all_views.
Anyone know a solution to this?
Thanks
Mike