0
I'm using Oracle Data Integrator (ODI 12c) to transfer data from a SQL Server source to an Oracle target. During the integration, ODI automatically creates a staging table (ending with _AP) based on the structure of the source SQL Server table.
The issue I'm facing is that some of the column names in the SQL Server source are reserved keywords in Oracle (e.g., LEVEL, COMMENT, DATE, etc.). These columns exist in the source schema, and ODI copies them directly into the Oracle staging table without quoting them. As a result, when ODI runs the IKM (Integration Knowledge Module) step that attempts to insert into the staging table, I get the following Oracle error:ORA-01747: invalid user.table.column, table.column, or column specification
This error occurs during the Insert new rows step of the IKM SQL to Oracle (Built-In).
What I’ve tried: Checked that the column names match exactly between source and staging. Verified that the issue is specifically due to reserved keywords. Tried manually quoting the columns in the target mapping, but since the staging table is auto-generated by ODI, it's hard to intervene at that step. My Questions: How can I configure ODI to automatically quote column names when creating Oracle staging tables? Is there a way to instruct ODI to rename or alias reserved columns during staging? Would customizing the LKM or reverse engineering step help with this? If so, how? Any advice from those who have encountered this in cross-platform integrations would be appreciated.