IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement de jobs Discussion :

Copie d'une table avec une colonne du type image


Sujet :

Développement de jobs

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Copie d'une table avec une colonne du type image
    Bonjour,
    Je dois faire la copie d'une table d'une base MS Sql vers une base Postgres.
    La table MS Sql "PERSONNE" est composée de deux colonnes :
    ID : varchar(6)
    PHOTO : image

    Côté Postgres, je dispose d'une table "personne" avec les deux colonnes suivantes :
    ID : character varying(6)
    photo : bytea

    Avec Talend, j'ai créé un job avec :
    - en entrée : tMSSqlInput qui point sur la table "PERSONNE"
    - en sortie : tPostgresOutput qui sur la table "personne"
    - et un tMap qui fait simplement le maping de chaque colonne en entrée vers la colonne correspondante en sortie.

    Lorsque je lance l'exécution de mon job j'obtiens le message d'erreur suivant :

    ERROR: column "photo" is of type bytea but expression is of type bigintException in component tPostgresqlOutput_1

    Que manque t'il à mon job pour qu'il puisse fonctionner correctement?

    Merci pour votre aide.

  2. #2
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Points : 4 314
    Points
    4 314
    Par défaut
    Il y a probablement une erreur de mapping Talend/BD au niveau du composant Output. Tu peux vérifier comment ce mapping est effectué en éditant le schéma de ce composant (et le corriger au besoin).
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Copie d'une table avec une colonne du type image
    J'ai vérifié le mapping des colonnes mais je ne vois rien de particulier. Le fichier joint donne une vue du job ainsi que le contenu du tMap.
    Peux-tu préciser ce que tu veux dire par "vérifier comment ce mapping est fait" ?

    Merci
    Images attachées Images attachées

  4. #4
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Points : 4 314
    Points
    4 314
    Par défaut
    Je ne parlais pas du mapping du tMap mais du mapping entre le code Java et les types côté base de données.

    Ce mapping dont je parle est visible au niveau du composant "output" uniquement (puisqu'il diffère en fonction du type de base).

    Le premier problème, c'est que le type java est "Object". Sans information supplémentaire, TOS peut difficilement savoir en quoi il doit le convertir.

    Si tu veux stocker une image, il faut commencer par la convertir en tableau de bytes. Ensuite, il faut vérifier qu'au niveau du mapping base de données, ce tableau est correctement mappé en un BLOB côté base.
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Effectivement, en forçant le type de la colonne en sortie à tableau de bytes, le job se déroule sans aucune erreur.

    Merci pour ton aide.

  6. #6
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Points : 4 314
    Points
    4 314
    Par défaut
    Citation Envoyé par mma67 Voir le message
    Effectivement, en forçant le type de la colonne en sortie à tableau de bytes, le job se déroule sans aucune erreur.
    As-tu vérifié qu'il faisait bien ce que tu voulais ?
    Que ton job se déroule sans erreur est une chose... mais qu'il se comporte comme tu le veux en est une autre, et la première n'implique pas forcément la seconde
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Le job se déroule correctement et le résultat est bien celui attendu.
    Encore une fois merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/01/2015, 16h10
  2. copier une table d'une BDD dans une table d'une autre BDD
    Par faniette dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/05/2013, 10h17
  3. [MySQL] requete dans une table avec une varible d'une autre table
    Par kogoi dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 03/11/2011, 15h24
  4. créer une table avec des colonnes de types différents
    Par d_hazem dans le forum Composants
    Réponses: 1
    Dernier message: 15/01/2009, 15h23
  5. Réponses: 6
    Dernier message: 30/08/2007, 16h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo