2016-07-08 2 views
0

J'ai migré un projet ODI de ODI 11.1.1.7 à 12.2.1 en utilisant l'outil de migration ODI.

La source est un fichier XML et Target est une base de données Oracle 12c.

Dans le projet migré, je pouvais voir certaines des interfaces sont modifiées de façon drastique.

D'autres objets sont créés. Les objets Default_DS_AP et Default_DS1_AP sont créés dans le groupe cible de l'interface. Cela ressemble à ceci est utilisé pour charger les données de l'objet Source vers cible en utilisant LKM SQL à Oracle.

Mais lors de la migration, j'ai pu voir que lorsque des tables C $ sont créées, elles sont créées avec des noms de tables uniques qui ne correspondent pas à la table cible.

Pour certains de l'interface où je n'ai qu'un seul objet DEAFULT_DS_AP, je peux voir l'objet C $ Loading créé avec le nom de la table cible appropriée.

Mais, où 2 objets DEFAULT_DS sont présents dans l'onglet physique de l'interface, des tables de chargement sont créés avec C _0DEFAULT_DS $, C _0DEFAULT_DS1 $ ..

Comment puis-je obtenir les noms de table appropriés comme C $ _0ADDNUMEBRS où addNumbers est mon nom de table?

En outre, les tables de chargement ne sont pas créées correctement, elles sont brouillées et, par conséquent, la requête IKM n'est pas exécutée correctement.

toute aide à ce sujet est utile

Répondre

0

lors du passage de 11g à 12c, ODI utilisera des ensembles de données dans toutes vos correspondances. C'est pourquoi vous voyez ces noeuds Default_DS_AP et Default_DS1_AP supplémentaires dans la conception physique. Vous pouvez cependant supprimer ces ensembles de données et utiliser plutôt le paradigme de flux (voir http://www.rittmanmead.com/2015/04/di-tips-odi-convert-to-flow/).

Cela peut ne pas résoudre vos problèmes avec le nom de la table cible. Avec 12c, ODI permet maintenant d'avoir plus d'une cible dans un mapping. Cela signifie que le nom de la table cible ne peut plus être utilisé comme nom temporaire dans tous les cas. Au lieu de cela, ODI utilise le nom du dernier composant avant le transport de données dans les étapes LKM qui crée les tables C $ _ Il est possible de changer cela pour revenir au comportement précédent mais cela nécessite un peu de changements dans chaque mapping (qui peut être automatisé dans Groovy) ou dans les KM. Vous trouverez plus de détails dans this blog post.

+0

Merci beaucoup. Cela m'a aidé à résoudre le problème dans une large mesure. – ashwini