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

Informix Discussion :

Impossible de faire un Onunload dans un fichier du disque


Sujet :

Informix

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Impossible de faire un Onunload dans un fichier du disque
    Bonjour.

    Tout d'abord je tiens à préciser que je suis plus que néophyte en informix, même si j'ai de bonne base dans d'autres SGBD.

    J'ai besoins d'effectuer une sauvegarde d'une base de donnée sur un serveur (linux red hat 7) pour la charger sur une autre serveur similaire.

    la commande dbexport et dbimport ne convient pas car j'ai déjà des donnée sur ce deuxième serveur (la base est exactement la même : je veux récupérer les données de mon serveur de secours pour les mettre dans le serveur d'exploit que je vien de réparer et dans lequel il y a pas mal de données)

    j'utilise la comande :
    onunload -t /usr/local/etc/load.d/datadbs.out -b 1024 -s 10000000 gerico
    pour carger ma base gerico dans un fichier nommé datadbs.out

    malheureusement celà ne fonctionne pas : j'ai constamment ce message
    "Please mount tape and press Return to continue ...
    Error opening the tape device, Error No. = 2."

    Est ce que quelqu'un peut m'aider ?

    Merci d'avance.

  2. #2
    Membre averti Avatar de blackstreet
    Inscrit en
    Avril 2004
    Messages
    304
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 304
    Points : 335
    Points
    335
    Par défaut
    Bonjour,

    L'erreur 2 signifie que Informix ne trouve pas le fichier cible (dans ton cas /usr/local/etc/load.d/datadbs.out).
    Attention, ce fichier doit être créer d'avance pour qu'informix puisse écrire dedans.

    Tu peut le créer avec la commande touch ou vi si tu veux, mais n'oublie pas aussi de lui donner les droits 660.

    Mais je te déconseille d'utiliser le onunload si le système cible est différent de l'actuel (OS différent par exemple).
    Le mieu est de faire un dbexport complet puis tu récupére juste les table dont t'a besoin, ou bien tu peux renommer la base dans le fichier .sql.

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Bonjour.

    Merci pour votre aide, j'ai réussi à effectuer l'unonload de ma base.

    Malheureusement, quand je fait l'onload de mes données sur l'autre serveur j'ai un message m'informant que la base existe déjà.

    Le problème c'est que c'est justement ce que je veux faire, je pensais que onload pouvait me permettre d'ajouter des donné d'une base dans une autre (les bases sont identiques).

    Je ne sais vraiment pas comment faire, j'ai un serveur de secours avec une base de donnée qui a été peuplé pendants quelques jours et j'ai un serveur d'exploit que je viens de réparer et qui possède la totalité des anciennes données de ma base.

    Je voudrais pouvoir ajouter les données de mon serveur de secours dans mon serveur d'exploitation afin de ne pas perdre d'informations.

    Si quelqu'un à une idée je suis preneur.

    Merci d'avance.

  4. #4
    Membre averti Avatar de blackstreet
    Inscrit en
    Avril 2004
    Messages
    304
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 304
    Points : 335
    Points
    335
    Par défaut
    Bonjour,

    L'onunload ne te permet pas de faire la mise à jour de l'autre base de données.

    Comme je t'est dis, il faut que tu le fasse manuellement avec un petit script.

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Merci pour la rapidité de la réponse.

    Je suis relativement débutant avec informix (mais pas en gestion de base de donnée) est ce que tu pourrais être plus précis quand au script a utiliser.

    Je suppose qu'il faut faire un export de la base dans un fichier texte (genre SELECT * FROM ma table >> toto.txt) et insérer ce export dans l'autre base (INSERT toto.txt to ma table).

    J'avoue que je ne maîtrise pas trop les outils informix, je ne sais pas trop comment m'y prendre.

    merci d'avance.

  6. #6
    Membre averti Avatar de blackstreet
    Inscrit en
    Avril 2004
    Messages
    304
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 304
    Points : 335
    Points
    335
    Par défaut
    Tu a deux possibilité :

    La première c'est de faire comme tu dis, un script qui va faire des select dans toutes les tables de la base et les rediriger vers des fichiers textes que tu va charger après dans ta base cible avec des insert.

    La deuxième chose c'est de faire un dbexport de la base informix secours, puis d'éditer le fichier nom_de_ta_base.sql pour récupérer les nom des tables et tu créer ton script insert comme dans le premier cas.

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Merci.

    Je vais regarder cette deuxième possibilité, vu que j'ai déjà fait un db export (protocole utilisé pour la sauvegarde de mes données dans les docs de l'application qui tourne sur mon serveur)

    je te tien au courant de l'évolution de tout ça.

    Encore merci pour la rapidité de réponse.

Discussions similaires

  1. Réponses: 7
    Dernier message: 10/03/2007, 11h08
  2. [XML] Faire du php dans un fichier XML
    Par Oberown dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 04/02/2006, 14h17
  3. Faire une recherche dans un fichier XML
    Par Devilish_Seraph dans le forum XML/XSL et SOAP
    Réponses: 7
    Dernier message: 21/01/2006, 13h41
  4. [DBF] Comment faire une insertion dans le fichier ?
    Par dor_boucle dans le forum Autres SGBD
    Réponses: 1
    Dernier message: 14/12/2005, 07h46
  5. Comment faire une insertion dans un fichier texte ?
    Par Isa31 dans le forum Langage
    Réponses: 10
    Dernier message: 28/12/2004, 09h06

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