begin process at 2010 03 21 18:09:09
  Trouver un code source :
 
dans
 
Accueil > Forum > 

JAVA / J2EE / J2ME

 > 

Système

 > 

JDBC

 > 

[HSQLDB] capacite maximal ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[HSQLDB] capacite maximal ?

mercredi 19 juillet 2006 à 16:45:21 | [HSQLDB] capacite maximal ?

romuluslepunk

Bonjour,

j'ai optez pour HSQLDB comme base de données embarqué.
Lors du premier lancement du programme, il créera la base avec ses tables et des insertions dans les tables en se basant sur des fichiers textes.

Mon problème est lors des INSERT lors de la creation de la base :
  • j'insère 82 enregistrements dans une table -> ok
  • j'insere 212 enregistrements dans une autre table -> ok
  • j'insère 16 enregistrements dans une 3ème table -> Il n'y a que les 4 1er qui persistent, les autres enregistrements ne sont pas dans la table...
Le plus étrange est que je n'est aucune erreur retournée..
J'ai essayer de permuter la table 1 et 3 (d'abord inserer les 16 enregistrements puis les 82), mais il me manque toujours 12 enregistrements  dans la 1ere table (dont j'ai fait les INSERT en dernier...)

J'ai cherché sur leur site mais je n'est trouvé aucun texte sur une capacitée limité des bases de données, donc je suppose que le problème vient d'autres part mais je suis un peu perdu.

Merci
mercredi 19 juillet 2006 à 17:10:16 | Re : [HSQLDB] capacite maximal ?

neodante

Administrateur CodeS-SourceS
Vraiment étrange ton problème, j'avais créer un serveur de chat avec un HSQLDB en embarqué et je n'ai pas eu ce genre de problème. A mon avis cela n'est pas une limitation de la base ...

Tu as le bon de code incriminé ??

++
mercredi 19 juillet 2006 à 17:52:07 | Re : [HSQLDB] capacite maximal ?

sheorogath

Membre Club Administrateur CodeS-SourceS
boucle foireuse ?

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
mercredi 19 juillet 2006 à 17:56:38 | Re : [HSQLDB] capacite maximal ?

romuluslepunk

Voici mon code :
public class Moteur
    {
    private ConnexionBase base = new ConnexionBase();
   
    private void CreationBaseDonnees()
        {
        // recupère liste des requete
        List<String> reqStruc = null;
        List<String> reqInsertPays = null;
        List<String> reqInsertLangues = null;
        List<String> reqInsertGenres = null;
        try
            {
            reqStruc = CreationBase.get_requeteStructure();
            reqInsertPays = CreationBase.get_requeteInsertPays();
            reqInsertLangues = CreationBase.get_requeteInsertLangues();
            reqInsertGenres = CreationBase.get_requeteInsertGenres();
            }
        catch (IOException e)
            {
            e.printStackTrace();
            this.base.arreter();
            System.exit(0);
            }
           
        // execute les requete
        List<List<String>> reqGeneral = new ArrayList<List<String>>(0);
        reqGeneral.add(reqStruc);
        reqGeneral.add(reqInsertGenres);
        reqGeneral.add(reqInsertPays);
        reqGeneral.add(reqInsertLangues);               
        for (int i=0 ; i<reqGeneral.size() ; i++)
            {
            for (int y=0 ; y<reqGeneral.get(i).size() ; y++)
                {
                try {this.base.requeteMaj(reqGeneral.get(i).get(y));}
                catch (SQLException e)
                    {
                    e.printStackTrace();
                    this.base.arreter();
                    System.exit(0);
                    }
                }
            }
        }

Mon code est bon car les liste sont ok et mes boucles aussi (j'ai tester avec System.out.println(reqGeneral.get(i).get(y)), et tout est bien inscrit).
Apres, la connexion est referme, je verifie mes lignes avec Quantum (dans Eclipse) et il me manque toujours les 12 dernier enregistrements inséré...
mercredi 19 juillet 2006 à 18:00:30 | Re : [HSQLDB] capacite maximal ?

sheorogath

Membre Club Administrateur CodeS-SourceS
   for (int i=0 ; i<reqGeneral.size() ; i++)
            {
            for (int y=0 ; y<reqGeneral.get(i).size() ; y++)
=>
int generalsize = reqGeneral.size() ;
   for (int i=0 ; i<generalsize; i++)
            {
            for (int y=0 ; y<reqGeneral.get(i).size() ; y++)

essai ca ...

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
mercredi 19 juillet 2006 à 18:23:18 | Re : [HSQLDB] capacite maximal ?

romuluslepunk

non j'ai toujours le même problème.

Ce qui me fait tourner le plus en bourique, c'est que toutes les requetes sont bien éxecutées !!!
J'ai ajoute catch (Exception e) à catch (SQLException e) pour vérifier les erreurs en détails mais il n'y a aucun problème.
J'ai essayer aussi avec un autre nom de base (j'ai cru a une histoire de cache ou quelque chose dans le genre) mais le problème persistent.
mercredi 19 juillet 2006 à 21:27:34 | Re : [HSQLDB] capacite maximal ?

romuluslepunk

Je pense avoir ciblé le problème d'un peut plus près :

Juste après la création de la base, je fais un SELECT sur la dernière table qui a eu les INSERT, et j'ai bien tout les enregistrements.
Ensuite je ferme la connexion et stop le programme.

Je redemarre le programme (cette fois sans créer la base de données mais en se connectant simplement), refait le SELECT et il me manque toujours les 12 derniers enregistrements
Il ne se trouve pas dans le fichier .script de la base non plus...

Donc le problème survient lors de la fermeture ou de l'ouverture de la connexion.
Voici comment j'ouvre et ferme ma connexion :

private static final String driver = "org.hsqldb.jdbcDriver";
    private static final String url = "jdbc:hsqldb:bdd/bdd";
    private static final String pseudo = "sa";
    private static final String password = "";
    private Connection connnexion = null;
    private Statement stat = null;

    public void demarrer() throws ClassNotFoundException, SQLException
        {
        Class.forName(ConnexionBase.driver);
        this.connnexion = DriverManager.getConnection(ConnexionBase.url,
                    ConnexionBase.pseudo,
                    ConnexionBase.password);
        this.stat = this.connnexion.createStatement();
        }
   
    public void arreter()
        {
        try
            {
            if(this.connnexion != null)
                {
                this.stat.close();
                this.connnexion.close();
                this.connnexion = null;
                }               
            }
        catch (SQLException e){e.printStackTrace();}           
        }

Je n'est aucune erreur qui sort lors de l'execution...
Je suis perdu...

Merci de votre aide
mercredi 19 juillet 2006 à 22:15:38 | Re : [HSQLDB] capacite maximal ?

neodante

Administrateur CodeS-SourceS
T'as essayé le debugagge pas à pas avec eclipse ?

A mon avis ce sera plus et tu feras tout de suite si ces commandes sont envoyées ou non ;-)

++

jeudi 20 juillet 2006 à 00:11:36 | Re : [HSQLDB] capacite maximal ?

romuluslepunk

J'ai fait des tests et je suis sure que ma connexion est bien fermé.
Toutefois, c'est pas lors de la déconnexion qu'il crée le fichier .script ? Moi il me le fait à la connexion en reprenant le fichier log...

Malgré que  ma connexion est bien fermé, j'ai des erreurs qui surviennent certaine fois (1 fois sur 2 en général) lors de la connexion (lorsque je relance le programme) me disant que la base est deja utilisé...

Toutes mes requetes INSERT sont executé j'en suis sur, c'est au niveau de l'enregistrement dans le fichier log que sa pose problème.
J'ai l'impression qui veut pas dépasser les 17ko...

Je me demande si je vais pas voir du coté de Derby
Merci pour l'idée du débogage
jeudi 20 juillet 2006 à 01:29:25 | Re : [HSQLDB] capacite maximal ?

neodante

Administrateur CodeS-SourceS
Il crée le script à l'arrêt de HSQLDB je crois, il vide sa mémoire dans le fichier script. C'est marqué dans la documentation peu exhaustive :s Lit bien la doc je crois que j'avais eu un problème similaire mais au final tout marchait bien pour moi :p Vérifie bien que tu n'as plus aucun processus qui tourne car les données sont enregistrées au shutdown du serveur. A mon avis ton problème peut venir de là ... après pourquoi les 12 dernières lignes ??? Mais doit bien y avoir une réponse quand même ;-)

Fait du pas à pas avec le debugage de Eclispe pour en être vraiment sur, je pense que tu y gagneras à bien regarder TOUTES les étapes de la JVM ... ;-) Après je pourrais pas beaucoup t'aider plus ;-)

++

1 2

Cette discussion est classée dans : base, table, enregistrements, capacite, hsqldb


Répondre à ce message

Sujets en rapport avec ce message

connexion et insertion dans une base [ par samsih ] Bonjour,j'ai crée une table qui contient les champs svts: Date, Heure dans JdatastoreExplore(jbuilder7) et je voudrais inserer des informations (Date JTable liée à une table de ma base [ par nouroudiop ] Salut les gars,j'aimerais savoir comment on arrive à lier une JTable directement à une table de ma base pour pouvoir effectuer directement une mise à fichier csv et base sql [ par TITI12 ] bonsoir à tousj'ai un petit soucis, n'étant absolument pas un expert en java , j'aurais besoin d'une aide. je vous explique mon pb. je désirerais ouvr Problème de JTable et de nombre d'enregistrements dans une table MySQL [ par GillesWebmaster ] Bonjour , J'aimerais récuperer le nombre d'enregistrements dans une base de donnée MySQL. On m'a conseillé de me placer sur le dernier Problème changement couleur ligne [ par gregorybts ] Bonsoir,je souhaite changer la couleur des lignes ou montant_total est supérieu au montant_credit mais mon code change toute la JTable à partir du mom Problème d'affichage de ma JTable après une requette SQL [ par baratribord ] Bonjour,J'ai écrit un programme qui affiche dans un JTable les enregistrements de ma base de données.A cette JTable j'ai rajouté dans mon ArrayList un table et base de donné avec netbeans [ par nasrouna84 ] comment afficher les donnés d'un column d'un jtable dans un list jcombobox par action de button "ajouter" et insertion des donnés dans une base de don Base de donnée HSQLDB : sélection d'un certain nombre de lignes [ par adriien ] Bonjour,Je crée actuellement un logiciel en java et j'ai eu besoin de faire appel à une base de donnée. J'ai choisi HSQLDB : je ne sais pas si c'est l Récupérer des données d'une BD en java [ par m3allem58 ] Bonjour, J'ai des données stockées dans une base de données Mysql et je cherche à implémenter une classe java pour récupérer les données de la base et modifier des champs d'une table sur une base de donné mysql a partir d'un formulaire [ par wemalo ] Si c'est possible ! Client html page.jsp Ap


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,811 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales