Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : [HSQLDB] capacite maximal ? [ Système / JDBC ] (romuluslepunk)

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é 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 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 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 Connexion base Java DB / Derby [ par le_totophe ] Bonjour à vous tous,J'ai des requêtes SQL qui doivent fonctionner aussi bien sous MySQL que sous Derby. Jusque là pas de problème. La où ça se corse, comment charger les MenuItems à partir d'une base de données? [ par firas_tn ] Bonsoir tout le mondeje suis entrain de développer une application swing avec un menu et des sous menus qui doivent se charger à partir d'une base de


Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,265 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.