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 :

HSQLDB ou SQLITE ?


Sujet :

JDBC Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2010
    Messages : 42
    Points : 32
    Points
    32
    Par défaut HSQLDB ou SQLITE ?
    Bonjour,
    J'aimerais créer une application qui stockerait des données dans un fichier pouvant facilement être partagé. En fait, ce serait une portage + refonte en Java d'une application Access, construite donc sur une base de données.
    Je pensais tout refaire en utilisant SQLite car je sais que tout tient dans un fichier et que c'est facile à copier etc. mais j'ai entendu parler de HSQLDB qui peut, semble-t-il, être "intégré" à l'application.
    Voilà donc ma question : cette base HSQL tient-elle dans un fichier que plusieurs utilisateurs peuvent s'échanger (hors ligne) ? Ou bien est-elle vraiment "dans" le programme, et inaccessible sans lui ?

    Je ne sais pas si c'est très clair. En gros, j'aimerais utiliser une base de données stockée comme un simple "fichier de sauvegarde" facilement copiable, sans notion de "serveur", "client" etc.

    Je sais que SQLite conviendrait, mais HSQL semble aussi intéressant. J'ai aussi lu du bien sur H2 .. ?

    Si vous avez des avis ou des conseils, je suis preneur

    Merci

    Nicolas

  2. #2
    Membre confirmé
    Avatar de william44290
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Juin 2009
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 400
    Points : 575
    Points
    575
    Par défaut
    j'ai retenu Sqlite car FireFox, Apple utilise cette base. J'imagine qu'ils ce sont posé la même question que toi.

  3. #3
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 222
    Points : 28 210
    Points
    28 210
    Par défaut
    Extrait de wikipedia à propos de HSQL :
    Des versions embarquées (incluses entièrement dans le programme) et client-serveur sont disponibles.
    Je pense qu'il faut comprendre que, HSQL en version embarqué signifie que, tout comme SQLite,le moteur d'accès et les drivers sont embarqués (inclus) dans l'exécutable. LA base de données à proprement parlé reste dans des fichiers externes à l'exécutable.

    Je ne vois pas comment la base de données pourrait être incluse dans l'exécutable. Elle serait en lecture seule alors. Un executable ne peut pas se modifier lui-même.
    Et la modification d'un executable est détectée par la plupart des antivirus comme une tentative d'infection

  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
    si vous faites du java: hsqldb, derby ou h2, par exemple. Ce sont des db écrites en java. Même principe que sqlite. SQLite présente l'inconvénient d'être écrit en C/C++, ce qui pose problème pour l'embarquer dans une application java a mon avis.


    BS, bien que les ficheirs puissent être "partagés", il reste un système de verrou, qui fait qu'une seule application peut les ouvrir à la fois

  5. #5
    Membre confirmé
    Avatar de william44290
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Juin 2009
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 400
    Points : 575
    Points
    575
    Par défaut
    Sur windows je lance plusieurs occurence d'un même programme sur une Db sqlite, elle ne semble pas vérouillée.

  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
    il y a dans sqlite un système de verrou multiprocess qui permet ça. Mais ça ne marche par sur les disque en réseau, donc dans ces cas là, risque de corruption. Comme il parle de plusieurs personnes en même temps, il y a fort à parier que la base serait sur un disque réseau

    http://www.sqlite.org/faq.html#q5

  7. #7
    Nouveau membre du Club
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2010
    Messages : 42
    Points : 32
    Points
    32
    Par défaut
    Ouah ! Merci beaucoup pour toutes vos réponses.
    Firefox et Apple n'utilisent pas Java, mais effectivement, leur utilisation de SQLite ressemble un peu à ce que je veux faire (enfin, comme beaucoup d'autres programmes).

    Merci pour vos conseils et explications : je vais donc me pencher sérieusement sur HSQLDB , et tenter d'en apprendre plus sur Derby et H2.

Discussions similaires

  1. Aide pour entre SQLite, H2 et HSQLDB ?
    Par r2d2abc dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 07/04/2010, 17h47
  2. qui connait sqlite ?
    Par Emmanuel Lecoester dans le forum SQLite
    Réponses: 23
    Dernier message: 19/02/2010, 13h44
  3. [SQLite]éliminer un motif dans des champ TEXT
    Par Invité(e) dans le forum Langage SQL
    Réponses: 2
    Dernier message: 26/05/2005, 17h44
  4. base de données en sqlite
    Par Cyrillou dans le forum SQLite
    Réponses: 1
    Dernier message: 12/05/2005, 15h37
  5. debuter en SQLite
    Par venomelektro dans le forum SQLite
    Réponses: 4
    Dernier message: 08/12/2004, 19h17

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