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

Administration Firebird Discussion :

Récupération de données


Sujet :

Administration Firebird

  1. #1
    Nouveau membre du Club
    Inscrit en
    Août 2003
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 34
    Points : 32
    Points
    32
    Par défaut Récupération de données
    Salut,

    Je voudrais récupérer le contenu de ma base dans un ou plusieurs fichiers.
    Pour l'instant, j'ai réussi à récupérer toute la structure (Domaines, Tables, Clés primaires et étrangères, index, fonctions UDF, ...) via la ligne suivante :
    isql -user MonUser -password MonPwd -a MaBase -o MonOutFile
    J'aurais voulu savoir comment faire et, si possible, par ligne de commande, pour récupérer les données de toutes mes tables.

    Merci à tous.

  2. #2
    Membre actif

    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 479
    Points : 267
    Points
    267
    Par défaut
    En utilisant

    isql <login> -i requete.sql -o resultat.txt

    où requête.sql sera un fichier contenant une requete du type

    select * from table;

    vous pouvez obtenir dans resultat.txt le contenu de la table.

    Il faut donc répéter la requete pour chaque table. Malheureusement les entete de colonnes son répétés toutes les 20 lignes.

    Autre piste le datapump du BDE Borland. Même déprécié, il marche !

  3. #3
    Nouveau membre du Club
    Inscrit en
    Août 2003
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 34
    Points : 32
    Points
    32
    Par défaut
    J'ai essayé plusieurs lignes de commande
    isql -user User -password PassWord -a Base -i fic.sql -o c:\res.txt

    isql -user User -password PassWord -i fic.sql -o c:\res.txt
    (En étant connecté avant)
    Rien n'y fait, j'ai toujours un fichier res.txt vide.
    Comment cela ce fait-il ? Aurais-je oublier une étape ?

  4. #4
    Membre expert
    Avatar de Barbibulle
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 048
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 048
    Points : 3 342
    Points
    3 342
    Par défaut
    Si vous voulez le faire de mannière occasionnelle vous pouver très bien utiliser IBConsole. Ou plus simplement IBExpert (free ou commerciale).

    Par exemple avec IBConsole :
    Connectez vous sur votre base
    Deux possibilitées
    1-Vous souhaitez avoir vos enregistrements sous la forme d'un script avec des INSERT :
    Ouvrez une table, onglet metadata et en bas cochez Extract table data.
    Vous verrez apparaitre dans le memo des métadata après les déclarations de création de la table les INSERT correspondant à vos données. Un copier coller dans un fichier txt et le tour est joué.

    2-Vous souhaitez avoir juste les données :
    Ouvrez ISQL de IBConsole, tappez
    select * from ma table
    executez
    puis menu query
    save output.

    Voilà.

  5. #5
    Membre actif

    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 479
    Points : 267
    Points
    267
    Par défaut isql
    avec isql le mieux est de tout mettre dans le fichier de script. Ainsi on s'affranchit d'éventuelles fautes de frappe. Donc dans le fichier requete on écrit :

    CONNECT 'c:\repertoire\mabase.gdb' USER 'monuser' PASSWORD 'macle';

    select * from matable;

    puis on execute

    isql -i requete -o resultat

    si ca ne marche pas c'est

    1 : parce que le chemin et/ou le nom de la base sont incorrects
    2 : le user idem
    3 : le mot de passe idem
    4 : le nom de la table idem

  6. #6
    Nouveau membre du Club
    Inscrit en
    Août 2003
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 34
    Points : 32
    Points
    32
    Par défaut
    Avec le CONNECT, ça marche tout de suite beaucoup mieux.

    Merci.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 05/04/2004, 10h09
  2. Réponses: 2
    Dernier message: 20/02/2004, 08h47
  3. [ DB2] => [ORACLE] Récupération de données
    Par LeDid dans le forum DB2
    Réponses: 3
    Dernier message: 25/06/2003, 17h10
  4. Réponses: 13
    Dernier message: 20/03/2003, 08h11
  5. [XMLRAD] récupération de donnée
    Par Mitch79 dans le forum XMLRAD
    Réponses: 7
    Dernier message: 30/01/2003, 15h36

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