Can I use HVR to replicate case sensitive table or column names?
Accepted AnswerYes, the action to use if at least one of the tables in the replication setup (channel) has a case sensitive name or column name is LocationProperties /CaseSensitiveNames. This action is particularly important against Oracle Databases when by default Oracle will assume table and column names are case insensitive unless quoted. The action LocationProperties /CaseSensitiveNames will ensure that table and column names will be quoted.
Please note that the action LocationProperties /CaseSensitiveNames:
1) Always applies to all tables in the channel.
2) Is required before tables are added to the channel, since by default HVR will assume that table and column names are case insensitive. If tables were already added (through the Table Explore/Table Select function in the GUI) then tables will have to be removed and re-added to the channel.
You may not realize that a table uses a case sensitive name or column name until you see errors like:
- F_JD0006: A table named [
] does not appear in the DBMS catalogs during Table Explore/Table Select.
- ORA-00942: table or view does not exist during a Refresh.
- ORA-00904 "
": invalid identifier, e.g. during a Refresh. This may be an indication that the column reported in uppercase may in fact be in mixed case in the database.
Accepted AnswerSimilar to case sensitive table and/or column names the action LocationProperties /CaseSensitiveNames would also be used if a table or column uses a reserved word. For example:
ora121> create table t (group number) ;
create table t (group number)
ERROR at line 1:
ORA-00904: : invalid identifier
ora121> create table t ("GROUP" number) ;
Even though in this example the column GROUP could be considered case insensitive its name will have to quoted in order to be used because group is a reserved word in Oracle.Your Reply
- Customers & Partners
- Support & Services