InvalidReferenceException .PropertyName Unexposed properties cannot be selected for classes mapped to external tables
I added a property to an existing report which is mapped to an external tables and in Prod started getting InvalidReferenceException .PropertyName Unexposed properties cannot be selected for classes mapped to external tables exception
Any idea why this exception is thrown and how to get rid of it will be appreciated
***Updated by moderator: Lochan to close post***
This post has been archived for educational purposes. Contents and links will no longer be updated. If you have the same/similar question, please write a new post.
What I have found out so far is that it happens only with columns that have mixed case or lower case characters in the column name. As soon as I rename the column to upper case only, it works all fine.
I'm on 7.1.6 and our external table is a table view.
I'm just wondering why Prpc doesn't like the lower or mixed cases....
We re-created our view to use only uppercase alias names and now it works like a charme. The report definition doesn't complain any more about unexposed columns, the ES indexer has indexed this class properly and ES is returning the rows we're looking for.
In Oracle By default all object names are stored in UPPER case in the rdbms dictionary. It is by design and generally it is the best way to store object names. SQL keyword case does not matter you will see the same behavior in MS-SQL. So
select * from TABLE_NAME
select * from Table_Name
select * from table_name all are acceptable and query TABLE_NAME
If you really want to use mixed or lower case names then it is possible but not recommended ,however you can pass them in Double quotes to get it understandable to the DB Engine.
It would be better to use camel case which would be especially advantages considering Oracle's table name and column name, Since it could save N-1 characters for N words in your identifier.