This content has been marked as final. Show 13 replies
You can't.1 person found this helpful
Oracle database doesn't accept names with more than 30 characters. So there is no way to use longer names if you use an Oracle DB.
So it's not a problem from ODI itself, it's a problem from your target DB ;).
I know. Sorry to have to give you this answer ;).
Don't forget to mark the question as resolved.
Actually, the target tables and column names have been created by the DBA already. What do u think is the reason for him not facing that error?
and the error that I'm getting is during the creation of c$ table. My staging and target are on the same oracle DB.
Oh ok, so that's probably because the target table/column names are between 28 and 30 characters. So when ODI concatenates C$_ in front of that, you get a length of 31-33 chars.
You can change the prefix of these tables in the topology, but still, you need it to be at least 1 char, so if your target lengths are already 30 it won't work.
Maybe if you work with aliases for your column / datastores, the generated tables would use these aliases.
Could you try it ?
you mean to say, I could use aliases of data stores and use them to create my temp tables and in that way I can get past that error? let me try this
Yes if you use put an alias (max 27 chars) on your datastores, it would maybe work.
I believe (not sure and no ODI install in front of me) that the names of temp tables are based on aliases ;).
yea but the problem is, internal columns for temp tables retain the same column names of target table.
If you expand (with the +) your datastore in your model, you can see all the columns. Then if you double-click on a column, you can define a short_description.
I'm not sure it will be used for the temporary table, but you can try it :).
The column name itself is 30 char long. I'd have to use straight sql to load this table, I guess. Thank you so much for your help so far. Appreciate it!
Did you tried to set a short_description for the column names in your model ?
It's maybe used for the column name of temp tables.
Yes, I did change the alias of the column name which is creating the problem and made it a short one but the temp tables are getting created not by the alias but by the actual column name. How can i use alias to create the temp tables. Where can I set this option?
Unfortunately, I don't think it's possible.
Let see if someone else has an idea, because I don't.