Question
Amazon
US
Last activity: 21 Jul 2017 10:04 EDT
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.
-
Like (0)
-
Share this page Facebook Twitter LinkedIn Email Copying... Copied!
Accepted Solution
Pegasystems Inc.
IN
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.
Thanks
Gaurav Sharma
Pegasystems Inc.
DE
I'm having pretty much the same problem today.
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....
Are you using Oracle database?
Pegasystems Inc.
DE
Yes, we're using Oracle.
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.
Accepted Solution
Pegasystems Inc.
IN
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.
Thanks
Gaurav Sharma
Pegasystems Inc.
DE
Thanks Gaurav.
As I said, we're not looking onto a table but onto a view. For the view the DBA chose alias names in mixed case. Since he changed them to uppercase it's fine.
Cheers
Armin
Same principal applies to views as well. Thanks Gaurav for the detailed explanation.
Updated: 15 Sep 2015 7:03 EDT
Ericsson
IN
Do we need to Change all the property to UpperCase.
I am using a View and has mapped all the property in External Mapping tab in the class rule.
Pegasystems Inc.
DE
That's my understanding, Abishek.
It solved the problem for me after the view was re-created to uppercase column names and I re-mapped the data class to this view.
Cheers
Armin