To view full details, sign in with your My Oracle Support account.ĭon't have a My Oracle Support account? Click to get started! Why do the ODI versions behave differently? Isn't it normal behavior that the generated code should use target definition? Why does ODI 12c use the source definition instead of the destination definition, like it did in ODI 10g/11g? The change is noted by looking at the AP node ( Access Point node ) in ODI 12c Mappings - it resides on the target workspace. in 12c, this now will be executed in the staging of target Datastore If the LKM however implements a SQL in the "Command on Source" tab, then indeed, there will be a change of location between 11g and 12c: in both 11g and 12c, the C$ table will be created in the staging of target Datastore
The staging area where the C$ gets created remains unchanged if the SQL is implemented on the LKM "Command on Target" tab in 12c, names and datatypes are taken from the source Datastore definition in 11g, names and datatypes were taken from the target Datastore definition What is different in 12c are the names and datatypes of columns: The l o c a t i o n of C$ table is not different between 11g and 12c. With ODI 10g the C$ table is created with NCHARS instead and the problem doesn't occur. If the C$ table is created in ODI 12c with the source definition (CHAR xx BYTE) the string is out of length in xxxx instance. Note: This difference can cause the mapping to fail when a string value contains special characters and is full length.įor example: with WE8ISO8859P1 charset, special chars are stored in 1 BYTE but in A元2UTF8 the same special chars are stored in 2 BYTES. In Oracle Data Integrator (ODI) 12C it has been observed that work tables are created on a source system rather than on the target as it was in ODI 10G and 11G. Information in this document applies to any platform. Oracle Data Integrator - Version 12.1.3.0.1 and later Work Table Definition Changes Between ODI 10g/11G and ODI 12c