Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > ETL > Talend
Talend Forum d'entraide sur Talend (Talend Open Studio, ...). Avant de poster --> FAQ Talend, Tutoriels Talend
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/12/2011, 14h22   #1
Invité de passage
 
Homme Greg
Étudiant
Inscription : décembre 2011
Messages : 6
Détails du profil
Informations personnelles :
Nom : Homme Greg
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : décembre 2011
Messages : 6
Points : 1
Points : 1
Par défaut Exception in component tOracleInput_1 java.sql.SQLSyntaxErrorException: ORA-00911: invalid character

Bonjour,

Je suis un nouvel utilisateur et j'éprouve quelques difficultés car je reçois des messages d'erreurs que je n'arrive pas à résoudre

Voilà mon problème :

Je dois résoudre le transfert d'un sous ensemble d'informations d'une base de données oracle se trouvant dans plusieurs tables (**** pour des soucis de confidentialité)
vers une autre base de données Oracle (Test)

étape 1 : créer les 2 métadonnées reliés à ces bases de données (pas de problème)
étape 2 : création d'une requête sur la base de données **** (qui est bonne car j'arrive à l'exécuter à cette endroit là)
étape 3 : je crée un job avec comme premier élément un tOracleInput pour la base de données **** et un tOracleOutput pour la base de données Test
étape 4 : je rempli les champs du tOracleInput de la manière suivante: photo OracleInput1
J'ai crée un schéma avec l'ensemble des champ de ma base de données que j'ai ensuite rempli dans le schéma pour obtenir le résultat suivant :
photo OracleInput2
J'ai ensuite essayé d'utiliser le "guess schema" à partir de ma requete de l'étape 2. il me renvoi cette erreur que je ne sais pas comment résoudre :
photo OracleInput3

étape 5 : j'ai rempli les champs du tOracleOutput pour la base de données Test photo OracleOutput1
j'ai demandé que la table soit créer si elle n'existe pas et de la remplir avec les informations qui lui arrive par le tOracleInput et j'ai éditer le schéma de la manière suivante : photo OracleOutput2

étape 6 : j'exécute le job et j'obtiens cette erreur : photo jobexécution

D'ou peut venir cette erreur ? comment puis je la résoudre ?

Si vous avez besoin d'informations supplémentaires n'hésitez pas.

Merci d'avance pour votre aide.
Images attachées
Type de fichier : png OracleInput2.png (177,6 Ko, 4 affichages)
Type de fichier : png jobexécution.png (197,5 Ko, 4 affichages)
Type de fichier : png OracleInput1.png (177,9 Ko, 4 affichages)
Type de fichier : png OracleInput3.png (172,4 Ko, 3 affichages)
Type de fichier : png OracleOutput2.png (167,4 Ko, 2 affichages)
bedo115 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2011, 14h38   #2
Membre émérite
 
Homme Nicolas Saumande
Architecte Décisionnel
Inscription : février 2008
Messages : 693
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Saumande
Âge : 36
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Architecte Décisionnel

Informations forums :
Inscription : février 2008
Messages : 693
Points : 879
Points : 879
Bonjour,

A priori, il y aurait un soucis dans la requête.
Dans ton étape 4, l'erreur lors du "guess schema" vient de là. Et sur l'étape 6, tu as l'erreur Oracle qui correspond.

Quand tu dis que tu arrives à exécuter la requête, c'est dans un client oracle ?
DevNico est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2011, 14h45   #3
Invité de passage
 
Homme Greg
Étudiant
Inscription : décembre 2011
Messages : 6
Détails du profil
Informations personnelles :
Nom : Homme Greg
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : décembre 2011
Messages : 6
Points : 1
Points : 1
Merci de la réponse rapide

Quand je dis que j'arrive à exécuter la requête, c'est lors que j'édite une requête dans les métadonnées. J'utilise le SQLBuilder pour vérifier si ca marche.
ca renvoi ceci

sqlBuilder.png

Vu les résultats en dessous, j'obtiens ce que je souhaite. J'aimerai écrire ses résultats dans une table de la base de données test
bedo115 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2011, 15h38   #4
Membre Expert
 
Avatar de haskouse
 
Homme Mustapha EL HASSAK
Ingénieur développement logiciels
Inscription : août 2009
Messages : 627
Détails du profil
Informations personnelles :
Nom : Homme Mustapha EL HASSAK
Âge : 26
Localisation : Maroc

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Finance

Informations forums :
Inscription : août 2009
Messages : 627
Points : 1 514
Points : 1 514
Je pense que tu as un problème à cause d'un caractère ou bien expression dans ta requête ou bien dans les noms des colonnes dans ta base destination.

Essai voir s'il n' y a pas de mot réservé dans ta requête.
Je pense notamment au mot "digit".
__________________
Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant. "Mohammed le Messager d’Allah" (que la paix et le salut d'Allah soient sur lui)

Mes articles publiés
haskouse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2011, 09h37   #5
Invité de passage
 
Homme Greg
Étudiant
Inscription : décembre 2011
Messages : 6
Détails du profil
Informations personnelles :
Nom : Homme Greg
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : décembre 2011
Messages : 6
Points : 1
Points : 1
Bonjour,

Je ne pense pas utiliser de mot réservé à part sur une ligne de ma requête

"select regexp_substr(regexp_substr(additional,'ENV_ID=[[:digit:]]*'),'[[:digit:]]*$')"

mais je pense pas que cela pose problème

Le caractère '_' est-t'il supporté par Talend ? car j'en ai dans mes tables de destinations.

J'ai une requete sql qui fonctionne dans le SQLBuilder et dans mon client oracle donc je pense pas que ça vienne d'un caractère ou d'une expression de la requête.

Aurait t'il un autre moyen (simple si possible ) pour juste exécuter cette requête sur la première base de données et d'écrire le résultat dans la deuxième ?

merci d'avance
bedo115 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h12.


 
 
 
 
Partenaires

Hébergement Web