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

JDBC Java Discussion :

DB embarquée avec mon application


Sujet :

JDBC Java

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2011
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 100
    Points : 50
    Points
    50
    Par défaut DB embarquée avec mon application
    Bonjour,

    J'aimerais avoir une DB qui soit embarquée avec mon application Java.
    Cette application pourrait être installée sur un PC sans savoir où elle sera installée physiquement sur le PC (cela dépendra de l'endroit où le client installera le programme).
    Et donc, je suis allé voir la DB HSQLDB. Mais je tombe sur un petit problème car si je veux que la DB HSQLDB soit installée en mode « In-Process » (Stand-alone), je dois spécifier un path (file) lors de ma connexion :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Connection c = DriverManager.getConnection("jdbc:hsqldb:file:testdb", "sa", "");
    Mais je ne connais pas le path. Est-ce que la notion 'd'embarqué' n'est pas celle que j'imagine ???

    Quelqu'un peut m'éclaircir ?

    Merci.

    Marc

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    Ben même si la librairie est embarquée, faut bien stocker la base de donnée quelque part si tu veux pas qu'elle s'efface quand tu quitte l'application

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2011
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 100
    Points : 50
    Points
    50
    Par défaut
    OK mais quand je pensais embarqué, j'imaginais qu'elle accompagnait mon application (ce qu'elle fait, puisque c'est un .jar) et que le path pouvait être 'setté'/adapté en fonction de l'endroit où serait copié l'application.
    Comment font les programmeurs avec leur application et leur DB pour les logiciels qui sont téléchargeables sur le Net ?

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    Et qu'est-ce qui t'empêche d'écrire ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Connection c = DriverManager.getConnection("jdbc:hsqldb:file:"+athQueJeViensDeCalculerEnFonctionDeLInstallation, "sa", "");

  5. #5
    Membre du Club
    Inscrit en
    Janvier 2011
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 100
    Points : 50
    Points
    50
    Par défaut
    Oui mais si je comprends bien cette solution, ça demande une intervention du client pour spécifier l'endroit où il copiera le pgm.

    Finalement, ne puis-je pas faire comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Connection c = DriverManager.getConnection("jdbc:hsqldb:file:localhost/NomDeLaDB", "sa", "");

  6. #6
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    Nom, pas nécessairement, tu peux très bien calculer toi même un emplacement. Ce ne sont pas les emplacement standard qui manquent (home utilisateur, dossier temporaire, répertoire courant, ....) A toi de choisir.
    qu'est-ce que tu entends par "localhost" ??

  7. #7
    Membre du Club
    Inscrit en
    Janvier 2011
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 100
    Points : 50
    Points
    50

  8. #8
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    Je sais très bien ce qu'est le localhost en terme de réseau, je ne vois juste pas du tout ce que tu entends par là en terme de fichiers . Les fichiers, c'est par définition local à la machine....

  9. #9
    Membre du Club
    Inscrit en
    Janvier 2011
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 100
    Points : 50
    Points
    50
    Par défaut
    Je ne remplace pas le nom du fichier par 'localhost' mais c'est en quelque sorte le path

    Voici ce que j'utilise pour me connecter à ma DB MySQL locale :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    connection=DriverManager.getConnection("jdbc:mysql://localhost/nom_db?user=userNom&password=password");
    Et en général, on met le port (3306 pour MySQL) après le localhost (localhost:3306/...)

  10. #10
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    Oui, mais là tu as un serveur Mysql qui tourne, qui écoute sur le réseau (donc localhost), et on a configuré dans ce serveur, pour toi, à quel endroit il devait stocker les Datas. Ici tu part sur une base embarquée dans ton application, c'est donc à toi de faire ce boulot.

  11. #11
    Membre du Club
    Inscrit en
    Janvier 2011
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 100
    Points : 50
    Points
    50
    Par défaut
    Oui, c'est bien ça mais comme je ne connais pas du tout le système des DB embarquées, j'exploite tous azimuts !

  12. #12
    Membre du Club
    Inscrit en
    Janvier 2011
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 100
    Points : 50
    Points
    50
    Par défaut
    Bjr à tous,

    Je me suis rendu compte que ma question n'avait pas de sens. En effet, il n'est pas nécessaire de spécifier un path lors de ma connexion :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Connection c = DriverManager.getConnection("jdbc:hsqldb:file:testdb", "sa", "");
    mais simplement mettre le nom de ma DB après file: !

    Mais maintenant que ce problème est 'résolu', je fais face à un autre problème.
    Sous Eclipse, j'ai ce message d'erreur qui apparaît : user lacks privilege or object not found: (ce message pour toutes mes tables de ma DB).

    Quelqu'un a-t-il déjà eu ce problème et aurait la solution ?

    Merci.

    Marc

Discussions similaires

  1. Base de données embarquée avec une application ?
    Par altea35 dans le forum Débuter
    Réponses: 8
    Dernier message: 10/01/2008, 14h24
  2. Des soucis avec mon application Excel sur les contacts
    Par diddle dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/11/2007, 19h50
  3. Creer une dll avec mon application
    Par render-nick dans le forum C#
    Réponses: 7
    Dernier message: 23/08/2007, 02h13
  4. [Compiler] Gérer la dépendance de fichiers images avec mon application
    Par camillechambon dans le forum MATLAB
    Réponses: 15
    Dernier message: 10/05/2007, 20h29
  5. [Dates] Problème avec mon application
    Par gtraxx dans le forum Langage
    Réponses: 16
    Dernier message: 21/08/2006, 20h59

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