12

I'm using ODI to load XML files from a webservice into the database. The schema file (XSD) defines an element named "share". This is a keyword in oracle. When reverse engineering the XML model, ODI makes a column names "SHARE". Later when building and executing a mapping, which should load the data into a database table, ODI fails to create a temp table, because "SHARE" is a keyword in oracle. The documentation tells, that keywords in XML schema files will be marked with an underscore character (i.e. SELECT will be renamed to SELECT_), but obvisiously the keyword SHARE is not part of that list ODI uses.

Is there any chance to extend the keyword list or any other idea to solve this problem. I cannot change the schema file, because it is not under my control.

VC1
  • 1,600
  • 4
  • 23
  • 40
DirkNM
  • 2,494
  • 12
  • 21
  • http://stackoverflow.com/questions/1162381/how-do-i-escape-a-reserved-word-in-oracle kindly note declaring with double quotes is case sensitive – psaraj12 Jan 03 '15 at 09:44
  • The problem is, that ODI don't use double quotes in the generated DDL-code and I don't know how to tell ODI to do so. – DirkNM Jan 03 '15 at 09:53
  • https://community.oracle.com/thread/2133118 this post recommends to handle it in the mapping – psaraj12 Jan 03 '15 at 11:55
  • Is this resolved ??? – psaraj12 Jan 05 '15 at 03:37
  • Unfortunately not. The problem is not my target table. It is the temp table created by the KM. I tried to modify the KM, but with no luck yet. – DirkNM Jan 05 '15 at 11:05

1 Answers1

0

Have you tried the built in (in memory) engine? It might not have the same issue with SHARED being a reserved name.

Worth a shot if you use external database for storage? If you remove any "External DB Properties" it should revert to built-in engine.