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

SQL Firebird Discussion :

[DDL] "object <table> is in use"


Sujet :

SQL Firebird

  1. #1
    Membre actif Avatar de TMuet
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Septembre 2003
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2003
    Messages : 225
    Points : 288
    Points
    288
    Par défaut [DDL] "object <table> is in use"
    Je travaille avec Delphi7 Pro / WinXP Pro / IB OpenSource 6 / IBX.

    Lors de la mise à jour de la structure d'une base de données, j'obtiens le message suivant :

    unsuccessful metadata update
    object TABLE1 is in use
    La commande qui provoque cette erreur est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE TABLE2 ADD CONSTRAINT FK_TABLE2_CODE2 FOREIGN KEY (CODE2) REFERENCES TABLE1 (CODE1) ON DELETE NO ACTION ON UPDATE NO ACTION
    Il y a eu juste avant d'autres commandes ; notamment une qui crée une clé primaire CODE1 sur la table TABLE1 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE TABLE1 ADD CONSTRAINT PK_TABLE1_01 PRIMARY KEY (CODE1)
    Je suis absolument certain que :
    • La foreign key n'existe pas encore.
    • Il n'y a que ce poste qui accède à la base de données.
    • Il n'y a aucun autre traitement en cours d'exécution sur cette base de données (du moins, rien que je n'ai lancé).

    D'autre part, cette erreur n'est pas systématique.
    Je n'ai jamais réussi à reproduire cette erreur lorsque j'exécute les mêmes commandes sous IB-Console

    Qui a une idée ?

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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 048
    Points : 3 342
    Points
    3 342
    Par défaut
    Ca me le fait également de temps en temps lorsque Delphi est ouvert sur le projet qui utilise la base (avec le composant IBDatabase d'ouvert).
    Quand j'ai cette erreur, je quitte Delphi (je ne me souviens plus si fermer le IBDataBase suffit), je relance l'ordre SQL et ca passe.

    Sinon un truc qui marche à coup sur :
    Quitte IBConsole et tout les prog qui utilisent interbase.
    Arrete le serveur interbase (sous windows2000 et XP c'est dans le Panneau de config)
    Et relance le serveur, relance IBConsole, exécute l'ordre qui ne passait pas, ca va passer.

  3. #3
    Membre chevronné

    Profil pro
    Chef de Projet / Développeur
    Inscrit en
    Juin 2002
    Messages
    611
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de Projet / Développeur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2002
    Messages : 611
    Points : 2 080
    Points
    2 080
    Par défaut
    J'ai déjà eu ce genre de pb et je l'ai réglé avec un gfix.

  4. #4
    Membre actif Avatar de TMuet
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Septembre 2003
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2003
    Messages : 225
    Points : 288
    Points
    288
    Par défaut
    Merci pour vos réponses

    Vanquish :
    Ni l'outil IBX de validation, ni gfix (que j'ai passés plusieurs fois avec toutes les options ) n'ont réglé le problème

    Barbibulle :
    J'ai essayé d'arrêter le service IBServer.
    C'est vrai qu'en l'arrêtant systématiquement avant toute restructuration, il semble que cela aille mieux.
    Malgré cela, j'essaierai ce Week-end en libérant et instanciant systématiquement tous les objets InterBase.

  5. #5
    Membre actif Avatar de TMuet
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Septembre 2003
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2003
    Messages : 225
    Points : 288
    Points
    288
    Par défaut
    Bof.
    Ca n'a pas résolu le problème.

    J'ai donc regroupé les commandes de définition des PK, puis celle de définition des FK et effectué un commit après chaque groupe.
    Et là, plus de problème ?

    Est-ce définitif ou provisoire, je ne le sais pas, mais il est sûr que je n'arrive plus à le reproduire.
    C'est très curieux

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

Discussions similaires

  1. Erreur "No such object in table"
    Par Philippe Bastiani dans le forum JOnAS
    Réponses: 3
    Dernier message: 27/08/2011, 06h32
  2. onmouseover=&quot;Menu_HoverStatic(this)&quot; object expected
    Par cyrano_de_bergerac dans le forum ASP.NET
    Réponses: 0
    Dernier message: 01/10/2010, 16h01
  3. 1 object 2 tables
    Par Sebastien0104 dans le forum Hibernate
    Réponses: 4
    Dernier message: 31/03/2010, 05h43
  4. Object et Table of record
    Par Iskendor dans le forum SQL
    Réponses: 2
    Dernier message: 23/10/2007, 10h46

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