Label Décisionnel
Bienvenue, Invité
Merci de vous identifier ou de vous inscrire.    Mot de passe perdu?
Aller en bas Répondre Ajouté aux favoris : 0
SUJET: long en clob
#749
watal (Utilisateur)
Fresh Boarder
Messages: 19
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
long en clob depuis 5 Mois Karma: 0  
Bonjour,
j'ai une table source avec un champ LONG et je la déplace vers une table cible et je voudrais mettre le contenu du champ LONG dans un champ CLOB. Il existe bien la fonction TO_LOB mais elle ne fonctionne que dans une instruction INSERT et donc pas dans un select classique.
Comment gérer cette intégration avec ODI?
 
  L'administrateur a désactivé l'accès public en écriture.
#758
rchaumais (Admin)
Administrateur
Messages: 389
graph
Personne n'est connecté Cliquez ici pour voir le profil de cet utilisateur
Re:long en clob depuis 5 Mois Karma: 11  
Je pense que la solution consiste à jouer sur les espaces de travail et le positionnement entre la source, la cible et l'espace de travail de la commande jouée.

Donc, pour que cela fonctionne dans le INSERT, il faut spécifier dans l'onglet mapping de l'interface que la commande doit s'effectuer sur la cible.

Est-ce suffisamment clair ?
 
  L'administrateur a désactivé l'accès public en écriture.
#770
watal (Utilisateur)
Fresh Boarder
Messages: 19
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Re:long en clob depuis 5 Mois Karma: 0  
Bonjour j'ai un soucis : on ne peut pas faire référence à une colonne de la table source lorsqu'on choisi la cible comme lieu d'éxécution.
 
  L'administrateur a désactivé l'accès public en écriture.
#771
ChrYStophe (Utilisateur)
Expert Boarder
Messages: 142
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Re:long en clob depuis 5 Mois Karma: 17  
Bonjour,

QUOTE:
on ne peut pas faire référence à une colonne de la table source lorsqu'on choisi la cible comme lieu d'éxécution.


Comme le disait Romain précédemment, il faut exécuter le mapping pour ce champ sur l'espace de travail, si celui-ci a bien été laissé sur la machine cible.

En faisant cela, la requête d'insertion dans la table d'intégration sera :

Code :

insert into MA_TABLE (champ_cible1,...., champ_cible_clob) select champ_source1,....., TO_LOB(champ_source_long)
ChrYStophe
 
 
Dernière édition: 13-05-2008 à 14:37 Par ChrYStophe.
  L'administrateur a désactivé l'accès public en écriture.
#776
watal (Utilisateur)
Fresh Boarder
Messages: 19
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Re:long en clob depuis 5 Mois Karma: 0  
Merci je l'ai fait et la requete est bonne seulement il ya erreur à l'éxécution (voir capture)
et le message d'erreur est:
Code :

932 : 42000 : java.sql.SQLException: ORA-00932: types de données incohérents : - attendu ; LONG obtenu
 
  L'administrateur a désactivé l'accès public en écriture.
#777
watal (Utilisateur)
Fresh Boarder
Messages: 19
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
capture depuis 5 Mois Karma: 0  
 
  L'administrateur a désactivé l'accès public en écriture.
Revenir en haut Répondre
Développé par FireBoardObtenir les derniers messages directement sur votre PC
Joomla Template by Joomlashack
Joomla Templates by JoomlaShack Joomla Templates