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

InterBase Discussion :

[IBEasy] migration sous firebird depuis Interbase [FAQ]


Sujet :

InterBase

  1. #1
    Membre actif
    Inscrit en
    Juin 2002
    Messages
    409
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 409
    Points : 234
    Points
    234
    Par défaut [IBEasy] migration sous firebird depuis Interbase
    Bonjour,

    Aux vus des remarques encouageantes de barbibulle a propos de firebird, j'ai passe le pas, ET J'EN SUIS TRES CONTENT !!! (mille merci barbibulle )
    1- J'ai telecharge Firebird 1.5 et installe sous WinXP (aucun pb !!!)
    2- En voyant que firebird ne comportait pas d'outil de manipulation des BDD type IBConsole, j'ai telecharge IBEasy : C'EST GENIAL !!! Un peu deroutant au debut avec la notion de documents, des categories (qui sont en fait les tables) et encore quelques bricoles, mais avec un peu de pratique, tout devrait aller comme sur des roulettes.
    3- J'ai pu reprendre sans aucun souci (en tout cas jusque maintenant) mon ancienne base existante pour Interbase.
    4- J'ai effectivement resolu mon souci qui etait de declencher un meme trigger pour un INSERT ou un UPDATE.

    J'en viens maintenant a une petite question (encore !) :

    J'ai trouve IBEasy un peu par hasard en fouinant dans les posts de ce forum.
    Il est super (et gratuit !), MAIS malheuresement, sans vouloir offenser les createurs que j'admire , il comporte quelques toutes petites imperfections (pb avec impression des modeles conceptuel graphique notament), et il ne sait pas gerer ces fameux triggers a declenchements multiple, alors
    est ce qu'il existe un autre outil du meme genre et gratuit que je puisse tester ???

  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
    IBExpert est a mon avis un des meilleurs sinon le meilleur.

    Il gère les nouveautées de firebird1.5.

    Il intègre un désigner de database avec reverseingénéring. On peux ainsi desinner le shéma de sa base très facilement.

    Avec IBExpert on peux créer en un seul clique des procédures basé sur une table ou un select.
    Il y a un debugger intégré, un plan analyseur, test de perf, et j'en passe.

    Essayez la version trail (45 jours) vous ne pourez plus vous en passer. Sinon il existe une version gratuite personnelle mais je ne connais la différence avec la version complete. Peut etre quelle est limitée à des bases de 50 Mo comme la version gratuite éducation.

    Mais sinon ce ne sont pas les outils qui manquent, je crois que vous pouvez réinstaller IBConsole, il devrait fonctionner, sinon il existe IBManager, IBAdmin, etc... cf :http://www.developpez.net/forums/viewtopic.php?t=56635

  3. #3
    Dry
    Dry est déconnecté
    Membre du Club

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 48
    Points : 50
    Points
    50
    Par défaut
    Une des limitations de la version PERSO de IBExpert, est (entre autre) l'impossibilité d'acceder au grant manager. On peut uniquement creer/suppr des utilisateurs.

    A+

  4. #4
    Membre actif
    Inscrit en
    Juin 2002
    Messages
    409
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 409
    Points : 234
    Points
    234
    Par défaut
    Bonjour, et merci pour toutes ces infos.
    Je vais continuer ma decouverte de firebird avec IBExpert que je viens de telecharger.

    (Pour info et ceux qui cherche un site sur Firebird en francais : http://www.a6cmo.org/ )

  5. #5
    Membre actif
    Inscrit en
    Juin 2002
    Messages
    409
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 409
    Points : 234
    Points
    234
    Par défaut
    Je viens de me faire une premiere idee d'IBExpert, effectivement, il a l'air TRES complet et puissant !
    Mais je ne trouve pas comment voir graphiquement sa BDD.
    (j'ai telecharge la version full gratuite d'IBExpert, c'est peut etre pour ca !)

  6. #6
    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
    J'ai la version full payante et ca se trouve dans Menu "Outils" puis "Designeur de database"

  7. #7
    Membre actif
    Inscrit en
    Juin 2002
    Messages
    409
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 409
    Points : 234
    Points
    234
    Par défaut
    Merci barbibulle.
    Je n'arrive pas non plus a modifier ni a affecter un COMPUTED BY a un champ deja existant. Est ce normale ?

  8. #8
    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
    Oui il me semble que ce n'est pas possible. Il faut créer une autre colonne avec le bon computed by. et supprimer l ancienne colonne.

  9. #9
    Membre actif
    Inscrit en
    Juin 2002
    Messages
    409
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 409
    Points : 234
    Points
    234
    Par défaut
    OK merci !
    Je confirme que la fonctionnalite "Metadata designer" n'est pas disponible avec cette version de IBExpert.

  10. #10
    Membre actif
    Inscrit en
    Juin 2002
    Messages
    409
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 409
    Points : 234
    Points
    234
    Par défaut
    Bonjour, encore 2 petites question :

    - Pourquoi IBExpert m'affiche, dans une barre d'info (situee en bas du bandeau principal d'IBE en haut de l'ecran), le message : "254 changes of table[MaTable] left"
    Si je comprends bien, cela signifie que IBExpert (ou plutot firebird) limite le nombre de modifications apporte a une table, pourquoi ?

    2 - Toujours par rapport a la modification d'un champ pour lui affecter COMPUTED BY ou le modifier : Le souci, c'est que j'ai plein de contraintes (perso et systeme) en cascade qui m'interdisent de supprimer le champs. Je n'arrive pas a trouver le moyen de rendre inactif toutes ces contraintes le temps de faire ma manip.
    Le seul et l'unique moyen que j'ai trouve aujourd'hui, c'est d'exporter tout les metadatas de la base, de faire ma petite modif, et de recreer la totalite de ma base.
    Vous conviendrez que c'est un peu comme prendre un marteau pilon pour ecraser un moucheron ! Ca va bien que la, je suis en phase developpement, mais pendant la phase d'exploitation de la base, je pourrai toujours courrir ...
    Donc est ce qu'il n'y aurait pas une finte de vieux sioux de derriere les fagots? (modif d'une table systeme par ex.)
    Et si NON ! alors est ce que la version payante d'IBExpert (200 euros c'es pas la mer a boire non plus !) sait faire ce genre de modifs ?

    Merci d'avance.

  11. #11
    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
    Citation Envoyé par kase74
    Bonjour, encore 2 petites question :

    - Pourquoi IBExpert m'affiche, dans une barre d'info (situee en bas du bandeau principal d'IBE en haut de l'ecran), le message : "254 changes of table[MaTable] left"
    Si je comprends bien, cela signifie que IBExpert (ou plutot firebird) limite le nombre de modifications apporte a une table, pourquoi ?
    Mais quel curieux
    On a droit à 255 modifications d'objet Interbase. Ce compteur indique donc le nombre de modification restante. Ce mécanisme permet à interbase de gérer les versions des objets. Et celà permet de ne pas perturber les transactions actives lors de changement de la table (ajout de colonne mais aussi suppression de colonne) ne fait pas planter les transactions actives qui continue de travailler avec l'ancienne structure et ses données... Une fois la transaction fermée, si on relance la même requete on voit effectivement les modifications.
    Voilà.
    Maintenant vous allez me dire, 255 c'est pas beaucoup...
    Il y a plusieurs moyens de remettre le compteur à 255 :
    1-Recréer entièrement l'objet (DROP suivit d'un CREATE)
    ou
    2-Faire tout simplement un backup suivit d'un restaure.

    Citation Envoyé par kase74
    2 - Toujours par rapport a la modification d'un champ pour lui affecter COMPUTED BY ou le modifier : Le souci, c'est que j'ai plein de contraintes (perso et systeme) en cascade qui m'interdisent de supprimer le champs. Je n'arrive pas a trouver le moyen de rendre inactif toutes ces contraintes le temps de faire ma manip.
    Je n'utilise pas computed by mais peut etre suis je un peu vieux jeux.
    Je préfère soit créer une PS qui fera pour moi le calcul, soit créer une VUE qui reprend la table avec en plus des colonnes calculées.
    Mais en plus si vous avez des contraintes dessus ... ??
    Je n'ai jamais eut le cas car les contraintes que je met sont toujours sur les vrai colonnes de mes tables et non sur des colonnes "fictives" calculées.

    Citation Envoyé par kase74
    Le seul et l'unique moyen que j'ai trouve aujourd'hui, c'est d'exporter tout les metadatas de la base, de faire ma petite modif, et de recreer la totalite de ma base.
    Vous conviendrez que c'est un peu comme prendre un marteau pilon pour ecraser un moucheron ! Ca va bien que la, je suis en phase developpement, mais pendant la phase d'exploitation de la base, je pourrai toujours courrir ...
    C'est un des moyens, extraires toute la structure ainsi que toutes les données (sous forme d'insert). Modifier le computed by et exécuter le script complet.

    Citation Envoyé par kase74
    Donc est ce qu'il n'y aurait pas une finte de vieux sioux de derriere les fagots? (modif d'une table systeme par ex.)
    Je pense que l'on peux mais je n'en suis pas certain. Voilà ce que j'essayerai :
    Mettons que votre table s'appelle : MATABLE
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CREATE TABLE MATABLE (
        ID                 INTEGER NOT NULL,
        TEST1              SMALLINT NOT NULL,
        TEST2              SMALLINT NOT NULL,
        TESTCOMPUT         COMPUTED BY (TEST2-TEST1),
    );
    Creez une colonne supplementaire avec le bon computed by :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ALTER TABLE MATABLE
    ADD TESTTMP COMPUTED BY (TEST1+TEST2)
    Ensuite recherchez le nom de la relation nouvellement crée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Select RDB$FIELD_SOURCE FROM RDB$RELATION_FIELDS
    WHERE (RDB$FIELD_NAME = 'TESTTMP') and
    (RDB$RELATION_NAME = 'MATABLE')
    Notez bien le résultat : (par exemple RDB$207)

    Faite de même pour l'ancienne relation
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Select RDB$FIELD_SOURCE FROM RDB$RELATION_FIELDS
    WHERE (RDB$FIELD_NAME = 'TESTCOMPUT') and
    (RDB$RELATION_NAME = 'MATABLE')
    Notez bien le résultat : (par exemple RDB$206)

    puis affecter la nouvelle relation computed by a l ancien champ :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    update RDB$RELATION_FIELDS set
    RDB$FIELD_SOURCE = 'RDB$207'
    where (RDB$FIELD_NAME = 'TESTCOMPUT') and
    (RDB$RELATION_NAME = 'MATABLE')
    et l'ancien computed by au nouveau champ:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    update RDB$RELATION_FIELDS set
    RDB$FIELD_SOURCE = 'RDB$206'
    where (RDB$FIELD_NAME = 'TESTTMP') and
    (RDB$RELATION_NAME = 'MATABLE')
    Puis enfin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alter table "MATABLE" drop "TESTTMP"
    Citation Envoyé par kase74
    Et si NON ! alors est ce que la version payante d'IBExpert (200 euros c'es pas la mer a boire non plus !) sait faire ce genre de modifs ?
    Merci d'avance.
    IBExpert Full ne fait pas plus de ce coté là mais celà ne doit pas vous empècher de l'acheter si vous compter utiliser interbase ou firebird de manière profesionnelle et celà fait vivre l'outil et ses concepteurs. Vous aurez d'autres outils et fonctions. Vous pouvez télécharger la version d'évaluation full qui est valable 45 jours, et ainsi vous pourrez comparer avec la version free.

  12. #12
    Membre actif
    Inscrit en
    Juin 2002
    Messages
    409
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 409
    Points : 234
    Points
    234
    Par défaut

    Merci barbibulle !

    Effectivement, je viens de trouver ceci dans l'aide IBE (p 30) :
    (1.0) Alter Trigger no longer increments the change count on table
    When the count of metadata changes on any single table reaches the maximum of 255, the database
    becomes unavailable. Backup and restore are required in order to reset the change count and make
    the database once again available. The intention of this feature is to enforce a database cleanup when
    table structures have undergone a lot of changes, not to inhibit useful capabilities in the engine.

    Previously, each time a trigger was set ACTIVE|INACTIVE by an ALTER TRIGGER statement, the change
    count for the associated table would be incremented. This affected the usefulness of disabling and reenabling
    trigger code for regular operations, since it would cause the change count to rise quickly.
    Malheuresement, je n'arrive pas a traduire clairement et de maniere sur le 2eme paragraphe. Est ce que le fait de rendre ACTIF/INACTIF un trigger incremente le compteur ??? (Je peux le voir en le testant vous me direz ! c'est ce que je vais faire !) Parceque si oui, c'est pas cool : je me rejouissais deja d'avoir trouver ce truc pour effectuer ou non du code en fonction d'un parametre.




    Et sinon, pour l'autre partie : en explorant le DDL que IBE genere pour modifier les valeurs par defaut, il fait justement un truc de ce genre la.
    Je vais donc l'essayer a la prochaine occasion, et je vous tiens au courrant.

    Encore merci et a bientot.

  13. #13
    Membre actif
    Inscrit en
    Juin 2002
    Messages
    409
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 409
    Points : 234
    Points
    234
    Par défaut
    MAIS SI, ca vient de me sauter aux yeux en relisant mon post, suffisait de bien relire le titre :
    Alter Trigger no longer increments the change count on table
    C'est bien que l'incrementation ne se fait plus !!!!!

    C'est cool !!!

  14. #14
    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
    Il me semble que sous IB6.0 celà décrémente bien le compteur.

  15. #15
    Membre actif
    Inscrit en
    Juin 2002
    Messages
    409
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 409
    Points : 234
    Points
    234
    Par défaut
    Peut etre, mais m'en fou puisque maintenant, (grace a vous, merci) je suis sous firebird 1.5
    Et c'est le pied !!! :
    J'ai deja tirer pleinement partie de cette migration avec les multi declenchements de trigger et les COALESCE. Et il y a encore plein d'autre trucs que je n'ai pas encore essaye. Notament les CASE dont j'ai pas tout saisi, mais je verrai bien au moment venu !

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

Discussions similaires

  1. Migration d'une base Interbase 6 vers Firebird 2.5
    Par mballasse dans le forum Débuter
    Réponses: 5
    Dernier message: 24/01/2011, 17h45
  2. Problème depuis ma migration sous Oracle 10g
    Par th.garcia dans le forum SQL
    Réponses: 0
    Dernier message: 01/07/2009, 15h51
  3. Migration Table Access a InterBase
    Par Redhouane dans le forum Bases de données
    Réponses: 2
    Dernier message: 11/10/2004, 08h40
  4. Sous Word depuis Delphi
    Par alexmorel dans le forum API, COM et SDKs
    Réponses: 9
    Dernier message: 17/06/2004, 12h45
  5. Requete imbriquée sur Firebird ou Interbase
    Par Thib dans le forum Bases de données
    Réponses: 2
    Dernier message: 08/03/2004, 09h00

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