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

Migration SGBD Discussion :

Migration de Access vers un autre SGBD gratuit


Sujet :

Migration SGBD

  1. #21
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    737
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 737
    Par défaut
    Citation Envoyé par master_och Voir le message
    Comment ca MySQL n'est pas gratuit?? je l'ai téléchargé à partir de son site officiel sans rien payer. Pourras tu concrétiser un peu les choses stp ?? ce sera vraiment apprécié
    si tu veux vendre ton appli il faut payer ou tu ne respecte pas la licence GPL de MYSQL. Tu peux lire la licence de MySQL qui est fournis avec...

    Citation Envoyé par master_och Voir le message
    Même si je ne suis pas sur d'avoir bien compris, mais j'ai bien testé quelques requetes sql simples sur mysql et ca fonctionne parfaitement, alors là encore je vais te demander de m'éclaircir car comme je l'ai déjà dit je suis nouveau dans le domaine des bases de données, et j'arrive pas à comprendre ce que vous entendez dire ...
    il y a des group_concat, limit... qui existent sous MySQL et pas dans la norme et inverssement les CTE's qui sont dans la norme ne sont pas encore dans MySQL

    pour les select de base tu n'aura pas de problèmes

  2. #22
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    737
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 737
    Par défaut
    Citation Envoyé par master_och Voir le message
    D'accor je suis entrain de telecharger Derby, j'éspère que ce sera pas très difficile à utiliser.
    puisque je vois que tu es encore en evaluation : tu peux aussi aller voir la version Firebird Embedded

    www.firebirdsql.org et utiliser les pilotes jaybird

    tu pourra alors utiliser des outils graphique comme IBExpert Personal ou Database Workbench Lite version

    tout ceci est gratuit

  3. #23
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    138
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 138
    Par défaut
    Merci VLDG pour les infos, c'est très simpa de ta part

    Pour ce qui est de MySQL, j'ai déjà laissé tomber, pour ce qui est de fireBird je me suis déjà plongé dans la documentation de Derby (qui me gène trop pour l'instant puisque c'est en anglais) et je veux surtout pas m'eparpiller la tête dans d'autres trucs, Derby semble bien une bonne solution pour mon problème, et je commence déjà à préparer mes questions sur cet outils .

  4. #24
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    138
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 138
    Par défaut
    Bon déjà pour commencer

    J'utilise eclipse pour developper en java, ce qui a toujours laissé le classpath, les variables d'environnements etc ... des trucs flou pour moi, vu que eclipse s'occupe de tout ca, et même si j'ai eu besoin d'integrer des fichiers .jar au classPath de quelques applications, j'ai toujours utilisé l'interface graphique proposé par eclipse.

    Mais là en essayant de me documenter sur l'installation de Derby ici http://db.apache.org/derby/docs/dev/getstart/, j'ai pas pu comprendre grande chose de ce qui est décrit dans ce lien.

    Quelqu'un pourra-t-il me concrétiser un peu les choses svp??

  5. #25
    Membre émérite Avatar de Jester
    Inscrit en
    Septembre 2003
    Messages
    813
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 813
    Par défaut
    Pour derby je sais pas mais faut juste ajouter le jar en général.

  6. #26
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    138
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 138
    Par défaut
    Merci pour l'info jester.

    Bon je me suis bien documenter sur derby et j'ai parvenu à créer un petit program d'essai ayant une connexion avec une base derby.

    mais il y a juste une petite question qui m'intrigue, en fait dans le tutorial ils disent que pour utiliser une base en mode embedded (c'est mon cas), le script prédéfini ajoute le fichier derby.jar et derbytools.jar au classpath:
    "Use the setEmbeddedCP script to set the classpath when the database engine is used in embedded mode. This script adds the derby.jar and derbytools.jar files to the classpath. "
    http://db.apache.org/derby/docs/dev/.../tgs26250.html

    Alors que j'ai essayé la connexion dans mon programme d'essai en n'ajoutant au classpath que derby.jar et ça a marché.

    pourquoi alors le derbytools.jar? devrai-je quand même l'ajouter?

  7. #27
    Membre émérite Avatar de Jester
    Inscrit en
    Septembre 2003
    Messages
    813
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 813
    Par défaut
    Aucune idée.

  8. #28
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Cf la doc.

    Citation Envoyé par Doc Derby

    • derby.jar: contains the Derby engine and the Derby Embedded JDBC driver
    • derbytools.jar: optional, provides the ij tool that is used by a couple of sections in this tutorial


  9. #29
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    138
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 138
    Par défaut
    Ah d'accord, donc dans mon cas pas la peine d'ajouter derbytools.jar au classpath.

    Merci bien sinok


    ____________________________

    Maintenant je dois découvrir Squirrel, ca semble simplifier la création des tables !

  10. #30
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Sinon tu peux également passer par eclipse en installant le plugin adapté ( c'est installable via l'update manager d'eclipse normmalement)

  11. #31
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    138
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 138
    Par défaut
    J'ai bien aimé l'interface de Squirrel, je le trouve assez complet, je crois donc que je vais faire avec.

    Merci pour l'info quand même, je savais pas que Eclipse peut gérer aussi la création des bases de données, il est vrai qu'il n'a rien laisser !

    _____________________________

    Concernant squirrel, ca fait plus qu'une heure que je galère pour me connecter à ma base .accdb à travers squirrel sans aucun succès.
    j'ai choisi comme driver "JDBC ODBC Bridge", l'url est la même que celle utilisé dans mon programme java et j'ai mis "orig" comme alias, mais ca marche pas ca m'affiche le message d'erreur suivant :
    " [Microsoft][Gestionnaire de pilotes ODBC] Connexion non ouverte"

    j'ai bien essayé avec une base de donnée Derby et ca a fonctionné, le problème ne survient qu'avec la BD access.
    Quelqu'un a-t-il une idée??

  12. #32
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    138
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 138
    Par défaut
    bon je précise la raison pour laquelle j'essai de me connecter à la base originale (.accdb):
    en fait comme je l'ai déjà signalé ma base compte 23 tables, et plein de relations(j'ai pas eu le courage de les compter ) sans oublier les autres contraintes et les index ..., c'est pour ca que je pense pas que ce sera une bonne idée de recréer tout à la main, car il y aura forcément des fautes de frappe qui changeront discretement certains noms de colonnes, en plus j'oublierai forcément certains contraintes, et surtout les données que j'ai enregistré dans la base pour faire mes tests seront perdues.

    Bref, je cherche donc à trouver une méthode automatisée me permettant de migrer vers derby en évitant tous ces problèmes, la première idée qui m'est venu à l'ésprit est de connecter ma base access à squirrel, ensuite je ne sais pas ..

    suis-je dans le bonne piste?

  13. #33
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Tu pourrais faire des exports de tes tables dans des fichiers plats de type CSV (dans access il y a probablement un save as qui permet de faire du csv à partir d'une table)& cie, puis les importer dans derby par la suite en utilisant ceci: http://db.apache.org/derby/docs/10.5...toolsimporting

    (penser à retirer les contraintes relationnelles au niveau de la base derby avant de le faire puis de les recréer une fois l'import réalisé.

  14. #34
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    138
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 138
    Par défaut
    Voici la liste des export d'une table proposés par Access:
    Excel
    Liste SharePoint
    Fichier RTF Word
    Base de données Access
    Fichier texte
    Fichier XML
    Base de données ODBC
    Snapshot Viewer (désactivé)
    Document HTML
    Fichier dBase
    Fichier Paradox
    Fichier Lotus 1-2-3
    Fusion avec Microsoft Office Word

    Je crois que CSV réfère à Snapshot Viewer ?? pourquoi est-il désactivé?

  15. #35
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    138
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 138
    Par défaut
    bon j'ai déjà commencer à créer mes tables manuellement afin de gagner le maximum de temps (en cas ou j'arriverai pas à migrer automatiquement).

    voici la premiere requete qui bug:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    create table femelle(
        id_femelle bigint auto_increment primary key, 
        Num_Officiel varchar(99) unique not null, 
        race_fem varchar(255), 
        Date_naiss timestamp not null, 
        presence boolean default 'true', 
        taris boolean default 'false', 
        id_pere bigint, 
        id_velage bigint
    )
    j'obtiens au debut l'erreur suivante :
    "Error: Syntax error: Encountered "AUTO_INCREMENT" at line 2, column 23."

    j'ai effacer le auto_increment pour voir si ca marche, et une autre erreur est survenue:
    "Error: Syntax error: BOOLEAN."

    derby n'accepte pas les auto_increment, ni les boolean ? !!

  16. #36
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    138
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 138
    Par défaut
    Après quelques recherches il s'est avéré que justement, le type boolean n'est pas supporté par derby, ainsi que auto_increment.

    boolean est remplacé par :smallint (true = 1, false=0)
    auto_increment est remplacé par : GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1)

  17. #37
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Dès la première table, j'ai l'impression que ta base n'est pas très normalisée !

    Déjà une table femelle suppose qu'il y a aussi une table male ? Pourquoi ne pas avoir fait une table animal avec une colonne pour le sexe ?

    Ensuite la race devrait être externalisée dans une autre table et ne devrait figurer dans la table des animaux que l'identifiant de la race.

    As-tu besoin de l'heure de naissance ? Sinon pourquoi un type Timestamp et pas un type Date ?

    AUTO_INCREMENT ne fait pas partie du langage SQL. C'est une instruction spécifique à MySQL.

    Bon courage pour la suite.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  18. #38
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    138
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 138
    Par défaut
    Déjà une table femelle suppose qu'il y a aussi une table male ? Pourquoi ne pas avoir fait une table animal avec une colonne pour le sexe ?
    Faire deux tables femelle et male qui hérite toutes les deux de la table animal alors qu'il n'ont rien en commun n'est pas util du tout à mon sens, si on interroge la table femelle c'est une femelle, et même chose pour le male, pourquoi alors l'attribut sexe? surtout qu'il y a pas dans le programme des endroits ou on doit charger les femelles et les males ensemble, chacun pour soi

    Ensuite la race devrait être externalisée dans une autre table et ne devrait figurer dans la table des animaux que l'identifiant de la race.
    Là je suis d'accord, mais j'ai procédé ainsi pour simplifier les requetes, et je suis tout à fait conscient qu'il y a du gaspillage de la mèmoire i, mais bon je donne la priorité à la simplicité des requetes, même si comme tu viens de dire ca ne suit pas la norme.

    As-tu besoin de l'heure de naissance ? Sinon pourquoi un type Timestamp et pas un type Date ?
    Pour l'instant j'ai pas besoin de l'heure de naissance(ni de l'heure d'aucune autre date), mais j'ai choisi le timestamp juste pour rendre le programme extensible et plus simple à modifier, comme ca si quelqu'un me demande d'etre plus précit dans les dates il sera plus facile de répondre à ses besoins.



    Merci bien pour tes critiques que je trouve constructives .

  19. #39
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par master_och Voir le message
    Faire deux tables femelle et male qui hérite toutes les deux de la table animal alors qu'il n'ont rien en commun n'est pas util du tout à mon sens,
    Je reprends la structure de ta table femelle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    CREATE TABLE femelle(
        id_femelle bigint AUTO_INCREMENT PRIMARY KEY, 
        Num_Officiel varchar(99) UNIQUE NOT NULL, 
        race_fem varchar(255), 
        Date_naiss timestamp NOT NULL, 
        presence BOOLEAN DEFAULT 'true', 
        taris BOOLEAN DEFAULT 'false', 
        id_pere bigint, 
        id_velage bigint
    )
    Un mâle n'a pas de numéro officiel ?
    Un mâle n'a aps de race ?
    Un mâle n'a pas de date de naissance ?
    Un mâle n'a pas d'indicateur de présence ?
    Un mâle n'a pas de père ?

    OK pour le vêlage et je ne sais pas ce que recouvre la notion de 'taris'.

    Au fait, une femelle ne peut pas vêler plusieurs fois ? Ne serait-ce pas plutôt le vêlage qui devait accueillir l'identifiant de la femelle ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  20. #40
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    138
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 138
    Par défaut
    un male a plutot un code national qui peut contenir des chiffres (pas un numéro officiel)
    pour le reste des attributs que tu viens de citer il est vrai qu'ils sont en commun.

    En fait dans mon MCD j'ai bien fait une table animal à partir de laquelle derive male et femelle, mais comme tu le sais bien il existe 3 méthodes de passage du MCD vers le MLD lorsque il s'agit d'un héritage, et bah moi j'ai choisi la 3ème méthode, juste pour rendre mes requetes plus simples et plus rapides.



    conceranant l'histoir du velage tu l'a mal compris, id_velage réfère au velage qui a aboutit à la naissance d'une femelle, (cela dit que même id_velage est en commun avec le male).

    tu pourras me dire pourquoi alors id_velage et id_pere, t'aurais pu affecter l'attribut id_pere au velage.

    et bah voilà comment j'ai raisonné:
    si on connait la mère d'un animal (male ou femelle), alors un velage sera automatiquement créé ayant pour date la date de naissance du descendant.
    ainsi si on connait l'id_velage d'un descendant on connait sa mère.

    par contre si on connait pas la mère d'un animal, il sera inutil d'ajouter une instance dans la table velage, dans ce cas on se contentera d'enregistrer l'identifiant du père (s'il est connu) dans la table du descendant correspondant

Discussions similaires

  1. [AC-2010] Migrer une base access vers un autre SGBD
    Par lololebricoleur dans le forum Access
    Réponses: 7
    Dernier message: 08/02/2015, 11h57
  2. conseil sur migration de access vers mysql
    Par jarod71 dans le forum Migration
    Réponses: 1
    Dernier message: 21/01/2007, 20h44
  3. Migration Formulaire Access vers VB
    Par Thiazung dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 08/12/2006, 11h32
  4. Migration de Access vers SGBD serveur
    Par soso78 dans le forum Migration
    Réponses: 1
    Dernier message: 28/06/2006, 12h12
  5. [Migration] Access vers quelle autre SGBD ?
    Par u_polet dans le forum Migration
    Réponses: 3
    Dernier message: 24/03/2006, 09h29

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