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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    138
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 138
    Par défaut Migration de Access vers un autre SGBD gratuit
    Bonsoir

    Je viens de réaliser une application java qui est en communication avec une base de donnée Access.

    Mon problème est que je veux migrer vers un autre SGBD gratuit, et sans être obligé à changer toutes mes requetes SQL dans mon programme java, sachant que pour l'instant le seul SGBD que je connais est Access, et que même en Access je ne suis pas très pro ...

    Les besoins de ma base de données ne sont pas très poussés, j'ai juste besoin d'avoir un outil me permettant de créer des tables et d'effectuer mes jointures (relations) entre ces tables tout en conservant l'integrité référentielle des données.

    Bien entendu la nouvelle base de données doit être "compatible" avec le language java, et si possible (pas tout à fait necessaire) utilisables dans différents systèmes d'exploitations.

    Un lien de telechargement avec un petit tutorial sera très apprécié.

    merci d'avance

  2. #2
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    138
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 138
    Par défaut
    Re

    Je viens de tomber sur PostgreSQL et mySQL workbench après une petite recherche sur internet, lequel des des deux me conseillez vous?

  3. #3
    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 choisi mysql au hazard.

    Après plusieurs recherches un peu partout sur internet, j'ai procédé ainsi:

    j'ai téléchargé mysql puis je l'ai installé, voici le lien de telechargement :

    http://dev.mysql.com/get/Downloads/M....msi/from/pick

    lors de l'installation j'ai mis comme mot de passe "javalait"

    j'ai lancé la console de mysql ""Mysql Command Line Client", et après avoir tapé mon mot de passe voici les commandes que j'ai utilisé pour créer une base d'essai:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    mysql> create database essai1;
    Query OK, 1 row affected (0.00 sec)
     
    mysql> use essai1;
    Database changed
     
    mysql> create table femelle(id_femelle bigint);
    Query OK, 0 rows affected (0.11 sec)
    - j'ai fermé la console.

    - j'ai téléchargé le fichier mysql-connector-java-5.0.8-bin.jar, et je l'ai copier dans le dossier d'un projet d'essai, j'utilise eclipse.

    - j'ai ajouté ce fichier au class path de mon projet d'essai sous eclipse.

    enfin voici le code java compilable que j'ai utilisé pour tester la connexion:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
     
     
    public class essai {
    	public static Connection con=null;
    	/**
    	 * @param args
    	 */
    	public static void main(String[] args) {
    		connect();
    		disconnect();
     
    	}
     
    	public static void disconnect(){
    		try {
    			con.close();
    		} catch (SQLException e) {
    			e.printStackTrace();
    		}
    	}
     
    	public static void connect(){
    		try {
    			Class.forName("com.mysql.jdbc.Driver");
    			con = DriverManager.getConnection("jdbc:mysql:essai","root","javalait");
    		} catch (ClassNotFoundException e) {
    			e.printStackTrace();
    		} catch (SQLException e) {
    			e.printStackTrace();
    		}
     
     
    	}
     
    }
    et biensure comme d'habitude rien ne marche sans demande d'aide, l'execution de ce programme génére l'exception suivante:

    java.sql.SQLException: No suitable driver found for jdbc:mysql:essai
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)

    je compte sur votre aide car là je sèche

    merci d'avance

  4. #4
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    138
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 138
    Par défaut
    je pose les question et je réponds tout seul

    il s'agissait d'ajouter "///" avant essai1, et ca marche nickel.


    maintenant il me reste une dernière question, dans quel endroit mysql stock les bases de données??

    j'ai bien fouillé sur internet mais j'ai rien trouvé la dessus.

    En fait je pose cette question car je compte archiver le fichier de la base dans le fichier d'installation que je créerai plus tard avec inno setup (enfin si c'est faisable).

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

  5. #5
    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 : 62
    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
    Les besoins de ma base de données ne sont pas très poussés, j'ai juste besoin d'avoir un outil me permettant de créer des tables et d'effectuer mes jointures (relations) entre ces tables tout en conservant l'integrité référentielle des données.
    Tu as choisi MySQL.
    Sache quand même que pour conserver l'intégrité référentielle des données, tu dois utiliser pour tes tables le moteur InnoDB car le moteur par défaut MyIsam se fiche complètement des clés étrangères et de leurs contraintes.

    Dès lors, les données des tables InnoDB sont stockées de façon assez abstraites, toutes ensemble dans un seul fichier. Mais les formats des tables sont stockés dans des fichiers individuels, comme pour les tables MyIsam.

    Sous Linux, les données sont stockées dans /var/lib/mysql.
    Sous Winbug, je ne sais pas. Ca doit quand même pouvoir se trouver ce genre d'info !
    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 !

  6. #6
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    138
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 138
    Par défaut
    Bonjour CinePhil

    merci pour l'info concernant innodb , heureusement que tu l'as signalé .


    Sous Winbug, je ne sais pas. Ca doit quand même pouvoir se trouver ce genre d'info !
    Pourtant j'ai bien cherché sans aucun succès, ce sera très simpa si tu me renseigne sur l'emplacement sous windows, j'ai même fait une recherche sur mon disque dur en utilisant le nom de la base comme mot clé sans rien trouver !

  7. #7
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    138
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 138
    Par défaut
    je viens de localiser l'emplacement de la base, le chemin d'accès se trouve dans le fichier my.ini juste devant datadir.

    reste maintenant à savoir quelles sont les modifications à faire, pour permettre la connexion à la base, après avoir changé son emplacement (par exemple sous C: ).

    quelqu'un a-t-il une idée??

  8. #8
    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
    Mon problème est que je veux migrer vers un autre SGBD gratuit, et sans être obligé à changer toutes mes requetes SQL dans mon programme java, sachant que pour l'instant le seul SGBD que je connais est Access, et que même en Access je ne suis pas très pro ...
    Pour info :
    - MySQL n'est pas gratuit
    - MySQL n'est pas un SGDB proche de la norme SQL même si ça évolue un peu

  9. #9
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    138
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 138
    Par défaut
    Bonjour VLDG

    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é

    MySQL n'est pas un SGDB proche de la norme SQL même si ça évolue un peu
    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 ...

  10. #10
    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
    Sous windows c'est soit sous program files/mysql/mysql 5.1/ soit sous Documents and settings/all users/Application data/mysql (de mémoire).

    Il faut finir tes create table par engine=innodb pour être sur. Mais l'installateur windows permet en général de le mettre par défaut pour peu qu'on ait indiqué que l'on voulait du transactionnel.


    Sous windows je vous conseil d'utiliser Toad pour la gestion de la base, c'est un freeware (moins bon que son grand frère pour Oracle, mais bon quand même). Ne faites pas de sauvegarde de la base en copiant les fichiers (ça ne marchera sans doute pas pour innodb). Utilisez mysqldump.

  11. #11
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    138
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 138
    Par défaut
    Bonjour Jester

    Concernant l'emplacement de la base c'est bon je l'ai déjà trouvé mais sans avoir la possibilité de changer cet emplacement ca ne servira à rien.

    Concernant le truc de innodb je l'ai fait mais en terminant mes create table par "type = innodb", devrai-je le remplacer par "engine = innodb" ??
    Sinon si c'est pas trop long à expliquer pouvez vous me dire c'est quoi au juste "innodb" et "myIssam"?

    Sous windows je vous conseil d'utiliser Toad pour la gestion de la base, c'est un freeware (moins bon que son grand frère pour Oracle, mais bon quand même). Ne faites pas de sauvegarde de la base en copiant les fichiers (ça ne marchera sans doute pas pour innodb). Utilisez mysqldump.
    Pourquoi Toad ? MySQL ne pourras-t-il pas faire l'affaire?? je n'ai arrivé à un peu familiariser avec cet SGBD et à le connecter avec mon programme qu'après une grande galère, et si c'est possible de cotinuer avec je préférerai éviter une autre galère ...


    Pour ce qui est de la sauvegarde de la BD, j'ai posé cette question car je réfléchit en même temps au fichier d'installation que je vais créer plus tard, qui va archiver tout (executable + icones + fichiers son + la base de donnée) dans un emplacement inconnu à l'avance, c'est pour ca que je veux pas que mon code source dépende du chemin d'accès imposé par mysql ...

    Enfin à propos de mysqldump, ça semble être la solution mais comment l'utiliser? et d'ailleur à quoi ca sert exactement ?

    voilà je vais quand même pas oublier de te remercier fort pour tes instructions

  12. #12
    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 : 62
    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
    Concernant le truc de innodb je l'ai fait mais en terminant mes create table par "type = innodb", devrai-je le remplacer par "engine = innodb" ??
    Si j'en crois la documentation MySQL, TYPE=InnoDB et ENGINE=InnoDB sont équivalents.

    Sinon si c'est pas trop long à expliquer pouvez vous me dire c'est quoi au juste "innodb" et "myIssam"?
    InnoDB et MyIsam sont deux moteurs différents utilisés par MySQL pour gérer les tables.

    Pourquoi Toad ? MySQL ne pourras-t-il pas faire l'affaire?? je n'ai arrivé à un peu familiariser avec cet SGBD et à le connecter avec mon programme qu'après une grande galère, et si c'est possible de cotinuer avec je préférerai éviter une autre galère ...
    Toad, comme phpMyAdmin, est une outil qui permet de gérer facilement les bases de données MySQL.
    Bien sûr, tu peux utiliser MySQL en ligne de commande mais un outil graphique c'est souvent plus pratique.

    Enfin à propos de mysqldump, ça semble être la solution mais comment l'utiliser? et d'ailleur à quoi ca sert exactement ?
    Ca sert à sauvegarder les bases de données.
    Avec des tables InnoDB, c'est même le seul moyen gratuit et pratique de le faire je crois.
    ==> mysqldump

    Les différents liens que j'ai postés sont trouvable en quelques secondes avec une recherche sur Google.
    Cherche un peu avant de poser les questions quand même !
    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 !

  13. #13
    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
    Citation Envoyé par master_och Voir le message
    Concernant l'emplacement de la base c'est bon je l'ai déjà trouvé mais sans avoir la possibilité de changer cet emplacement ca ne servira à rien.
    Il fallait poser la bonne question (ou j'ai mal lu) :-). Dans Program Files/mysql/mysql server 5.1, il y a un mysql.ini, le chemin de la base est donné par la variable datadir.

  14. #14
    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

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