p
u
b
l
i
c
i
t
é
publicité
  1. #1
    Invité de passage
    Inscrit en
    décembre 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : décembre 2009
    Messages : 3
    Points : 1
    Points
    1

    Par défaut Erreurs sur transferts de données

    Bonjour,

    Tout d'abord je tien a féliciter ce forum très bien construit et suivie
    J'espère être dans le bon endroit pour ma question
    J'ai installer une base informix en local sur 6 pc portable (pc pour des médecins), le transfert d'information ce fait a partir d'une clef USB, quand j'importe une petite entreprise sa marche très bien, mais quand je veux importer une entreprise de 300 employer ou plus un message d'erreur apparaît Table mtp_dosmed ERROR:
    -458. LONG TRANSACTION ABORTED)
    JE CLIQUE OK et un 2 éme message apparaît:
    ( Tble mtp-histo-evt ERROR: -691. MISSING KEY IN REFERENCED TABLE FOR REFERENTIAL CONSTRAINT (informix.cf_k_02_a7189). ISAM CODE= -111.
    Merci d'avance pour votre aide, je pense qu'il existe une mise a jour pour cela

  2. #2
    Futur Membre du Club
    Consultant Informix
    Inscrit en
    juillet 2009
    Messages
    12
    Détails du profil
    Informations professionnelles :
    Activité : Consultant Informix

    Informations forums :
    Inscription : juillet 2009
    Messages : 12
    Points : 15
    Points
    15

    Par défaut ca sent à plein nez le probleme de logical logs !!!

    tu n'as pas assez de journaux logiques pour la première erreur. Fais un onstat -d pour voir le nombre de journaux. je pense que tu dois etre à 13 (par défaut). Il faut en rajouter.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    onparams -a [ -d <dbspace> ]
    Si tu ne spécifie pas l'option -d, les journaux se mettront par défaut dans le dbspace rootdbs.

    Pour la deuxième erreur, elle parle d'elle-même je pense. ll te manque la clé dans la clé de reférence dans la table sur laquelle il y a la contrainte référentielle. Maintenant ca peut venir de ton soft qui chronologiquement :
    - Execute l'import
    - Fais des actions juste après que la base soit importé mais malheureusement ne vérifie pas qu'elle l'est vraiment.

    Je m'explique : quand tu lance l'import de la base, tu déroule en faite le script sql du schéma de la base. Donc au début il y a bien la création de la base avec les tables au fur et à mesure. Je pense que tu as une table qui contient beaucoup de lignes (beaucoup d'employés ??) et que celle-ci consomme tous les journaux lors de son écriture et plante. Lorsqu'il plante, il supprime pas forcément la base. D'où ta deuxième erreur.

    Ce que je te conseille d'une manière générale :

    Dans le sql qui est dans le répertoire <base>.exp, change la commande create database en retirant "with log". Une fois que la base est terminée, tu executera les commandes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ondblog unbuf <base>
    onbar -b -F
    Tiens moi au courant !!!

  3. #3
    Invité de passage
    Inscrit en
    décembre 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : décembre 2009
    Messages : 3
    Points : 1
    Points
    1

    Par défaut Solution pour agrandir les logs et dbspace

    Ta vue juste, je te transmet les commandes a faire pour agrandir les logs et dbspace:
    Se connecter avec informix en local et utiliser la console DOS mapp_dep_tr (env variables) dans Prog -> Informix 9.21

    onstat –d affiche les dbspaces (volume logique) et les chunks (fichier physique dans C:\INFXDATA)

    onstat –l affiche les fichiers logs

    Ajouter de la place à un DBSPACE (tempdbs ou logsdbs) :

    (l'agrandissement se fait en dynamique)

    onspaces –a logsdbs –p C:\IFMXDATA\MAPP_DEP_TR\CH_APP_DEP_TR_L
    -s 65536 –o 65536
    Offset du chunk (16384 X 4) (Attention : peut être différent)

    Taille du chunk ajouté (16384 X4)

    Création des Logs :

    -Passer en mode Quescient (administrateur – mono utilisateur)
    onmode –s

    -Créer les logs :
    onparams -a -d logsdbs –s 5120 (taille du log logique (1280X4))
    (à faire plusieurs fois jusqu'au message informix)

    -Repasser en mode normal (Online) :
    onmode –m

    -Rendre les logs utilisables (les mettre en statut free (F)) :
    ontape -s

    -Vérification :
    onstat –d
    onstat –l

  4. #4
    Futur Membre du Club
    Consultant Informix
    Inscrit en
    juillet 2009
    Messages
    12
    Détails du profil
    Informations professionnelles :
    Activité : Consultant Informix

    Informations forums :
    Inscription : juillet 2009
    Messages : 12
    Points : 15
    Points
    15

    Par défaut

    Je suppose que ton probleme est donc résolu ?

    Content que ça refonctionne !!!

  5. #5
    Invité de passage
    Inscrit en
    décembre 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : décembre 2009
    Messages : 3
    Points : 1
    Points
    1

    Par défaut Solution trouver

    Oui effectivement mon probléme est résolue. Comme quoi sa sert de ce prendre la tete Peut etre que les infos vont te servire pour un éventuelle probléme, merci encore d'avoir prit la peine de réppondre, a bientot pour une autre question loll

  6. #6
    Futur Membre du Club
    Consultant Informix
    Inscrit en
    juillet 2009
    Messages
    12
    Détails du profil
    Informations professionnelles :
    Activité : Consultant Informix

    Informations forums :
    Inscription : juillet 2009
    Messages : 12
    Points : 15
    Points
    15

    Par défaut

    OK.

    Mais en faite toutes les commandes que tu m'as indiqué je les ai mis plus haut. Sauf que je ne passe pas en Single-User, il n'y en a pas besoin, et je fais une sauvegarde fictive au lieu de faire une vraie sauvegarde comme tu l'as indiqué. Après ce qui sert beaucoup lors des chargements de données en masse, c'est que l'on créé la nouvelle base sans journalisation, on la charge (dbimport ou autre), puis on réactive la journalisation (ondblog <unbuf|buf> <database>). Ca permet de ne pas consommer des journaux inutilement.

    A bientot

  7. #7
    Membre actif
    Homme Profil pro
    Achitecte Informix SGBD et applications - IBM Champion - Data Management - Board of Directors IIUG
    Inscrit en
    octobre 2010
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Achitecte Informix SGBD et applications - IBM Champion - Data Management - Board of Directors IIUG
    Secteur : Conseil

    Informations forums :
    Inscription : octobre 2010
    Messages : 103
    Points : 158
    Points
    158

    Par défaut

    Autre méthode à partir de la 9.5, si jamais tu n'as que quelques tables à charger:
    avant de charger:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE matable TYPE (RAW);
    et après chargement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE matable TYPE (STANDARD);
    TYPE RAW => passe ta table en mode non journalisé
    TYPE STANDARD: passe ta table en mode journalisé.

    Il faut bien sûr avoir une base journalisée au départ.
    Les 2 commandes sont immédiates.
    Eric

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

Discussions similaires

  1. [Batch] Erreur sur transfert ftp avec put
    Par bli357 dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 05/11/2013, 18h24
  2. erreur sur la base donnée sous réseau
    Par louay02 dans le forum ASP
    Réponses: 4
    Dernier message: 07/09/2011, 16h15
  3. Erreur sur importation de données dans SSIS
    Par caballero dans le forum MS SQL-Server
    Réponses: 1
    Dernier message: 04/07/2007, 14h57
  4. [DEBUTANT] erreur sur importation de données
    Par caballero dans le forum MS SQL-Server
    Réponses: 3
    Dernier message: 07/06/2007, 12h08
  5. Erreur charset lors d'un transfert de données
    Par Cyberbob002 dans le forum PostgreSQL
    Réponses: 16
    Dernier message: 29/11/2005, 15h00

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