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 :

Extraire une base de données entière


Sujet :

Développement de jobs

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 212
    Points : 71
    Points
    71
    Par défaut Extraire une base de données entière
    Bonjour,

    Voila j'ai une base de données sous AS400... est-il possible avec talend d'extraire facilement le contenu de toutes les tables sans avoir a mettre un tAS400input par table... j'ai enormément de table donc je me vois mal faire ca pour plus de 300 tables.

    S'il y a des solutions ?

    Cordialement,

  2. #2
    Modérateur
    Avatar de XxArchangexX
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2012
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 159
    Points : 2 323
    Points
    2 323
    Par défaut
    Bonjour,

    Oui, je ne connais pas l'utilisation de l'AS400, mais voici une façon de faire :

    Etape 1 : Requête pour interroger la base de données côté système de l'AS400 et prendre le nom des tables
    Etape 2 : les stocker dans une table ou un fichier
    Etape 3 : faire un iterate
    Etape 4 : placer le nom en cours dans le tInput et tOuput

    Il faut juste voir si l'étape 1 est possible( SELECT * FROM SYSIBM.SQLTABLES ?) .

    Bon courage .
    L'Etat est bien administré quand l'escalier de l'école est usé et que l'herbe croît sur celui du tribunal.

    Modérateur BI

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 212
    Points : 71
    Points
    71
    Par défaut
    ok je vais tester cela...

    merci de ta reponse

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 212
    Points : 71
    Points
    71
    Par défaut
    Citation Envoyé par XxArchangexX Voir le message
    Bonjour,

    Oui, je ne connais pas l'utilisation de l'AS400, mais voici une façon de faire :

    Etape 1 : Requête pour interroger la base de données côté système de l'AS400 et prendre le nom des tables
    Etape 2 : les stocker dans une table ou un fichier
    Etape 3 : faire un iterate
    Etape 4 : placer le nom en cours dans le tInput et tOuput

    Il faut juste voir si l'étape 1 est possible( SELECT * FROM SYSIBM.SQLTABLES ?) .

    Bon courage .
    Bonjour, une question que je me pose du coup ? comment ca se passe au niveau du schema dans la table cible ?

  5. #5
    Modérateur
    Avatar de XxArchangexX
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2012
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 159
    Points : 2 323
    Points
    2 323
    Par défaut
    Bonjour,

    Il prend le schéma associé au login, mdp utilisé pour se connecter à la base source, sinon en haut à droite du composant il y a possibilité de mettre un schéma.
    L'Etat est bien administré quand l'escalier de l'école est usé et que l'herbe croît sur celui du tribunal.

    Modérateur BI

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 212
    Points : 71
    Points
    71
    Par défaut
    Je n'ai jamais vraiment compris a quoi servait justement cette case schéma.


    J'avais plutôt tendance a utiliser le schéma qui se situe sous le champs "utilisateur" dans le composant.

    Il y a le menu déroulant "built-in" ou "référentiel".

    Du coup comment fonctionne la case schéma renseignée a la connexion de la base source ? Que dois-je mettre dans cette case ? (en cherchant sur la toile, j'ai vu qu'il fallait mettre "dbo" par exemple vu que je fait un test sur une base mssql)

    ensuite dans mon job j'ai mit : Liste_table -> tflowiterate -> tmssqlinput -> tmssqloutput

    dans mon tmssqlInput : dans le "nom de la table" j'ai mit la variable correspondant au nom de ma table et donc dans le type de requête j'ai mit "built in" avec en requete un select * from + varaible du nom de table

    puis en faisant "guess schema " il me met le message suivant "syntaxe incorrect vers le mot clé null"

  7. #7
    Modérateur
    Avatar de XxArchangexX
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2012
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 159
    Points : 2 323
    Points
    2 323
    Par défaut
    Il y a le menu déroulant "built-in" ou "référentiel".
    C'est une fonctionnalité de TIS, built-in : il faut configurer tous les champs à la main, référentiel : utilise une métadonnée, une configuration prédéfinie.

    Du coup comment fonctionne la case schéma renseignée a la connexion de la base source ? Que dois-je mettre dans cette case ?
    Elle sert à différencier 2 tables d'une même base de données avec un schéma différent, dbo est juste le schéma par défaut de sql serveur lors de la création d'une base de données.

    Si dans ta base chaque table est unique, tu peux mettre le schéma de ces tables. Mais si une table client est présente 2 fois, avec des données différentes il faut faire attention au choix.

    select * from dbo.client
    select * from adminSup.client

    Ce n'est pas pareil. Sous Talend en faisant select * from client, il va utiliser le schéma du login pour le choix. En configurant la case schéma et en faisant guest schéma, tu lui forces une autre valeur.
    L'Etat est bien administré quand l'escalier de l'école est usé et que l'herbe croît sur celui du tribunal.

    Modérateur BI

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 212
    Points : 71
    Points
    71
    Par défaut
    ok.

    Je comprend mieux l'utilité de cette case.

    en revanche j'utilise TOS et pas TIS.

    est-ce que ça pose problème pour utiliser des schémas dynamique ou c'est tout autant faisable ?

    si oui avec mon job actuel il me réclame un schéma pour mon tmssqlInput et là du coup je ne sais pas comment faire .

  9. #9
    Modérateur
    Avatar de XxArchangexX
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2012
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 159
    Points : 2 323
    Points
    2 323
    Par défaut
    Je viens de comprendre le point bloquant :s, effectivement il faut le schéma des colonnes de la table dans les composants et il est différent pour chaque table que tu veux transférer et tu ne vas pas pouvoir le changer entre chaque itération avec un input, output. J'avais oublié ce paramètre lors de ma proposition . Je regarde quand j'ai le temps pour voir s'il y a une solution, sinon il faut passer en full java (avec une routine pour du dynamisme).

    Pour information à ta question : Je n'ai jamais utilisé TOS, mais des topics que j'ai lu, il me semble qu'à gauche, il n'y a pas Métadonnées ? si la fonctionnalité est présente tu peux en déclarer une pour les connexions, sinon il faut paramétrer la connexion pour chaque composant input, output.
    L'Etat est bien administré quand l'escalier de l'école est usé et que l'herbe croît sur celui du tribunal.

    Modérateur BI

Discussions similaires

  1. Extraire une base de données en fichier Excel
    Par julia_m dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 24/09/2010, 18h24
  2. recherche dans une base de donnée toute entière
    Par mitnick2006 dans le forum Requêtes
    Réponses: 6
    Dernier message: 20/08/2008, 11h38
  3. Extraire une image tiff d'une base de donnée sql server
    Par aristotetg dans le forum Bases de données
    Réponses: 1
    Dernier message: 09/05/2007, 21h51
  4. Extraire une Base de donnée Excel vers Mysql ??
    Par Arvulis dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 09/01/2006, 22h58

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