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 : enregistrer un système de fichier dans une base de données [ Système / JDBC ] (habitech)

vendredi 25 juillet 2008 à 13:20:32 | enregistrer un système de fichier dans une base de données

habitech


Salut, j'ai un projet plutot embettant.Je dois enregistrer l'arborescence d'un disque dans une base de données (j'utilise mysql) et pouvoir la restituer à la demande dans un "tree (jsp )" au niveau de mon application web, tout ceci en tenant compte  des droits d'accès  utilisateurs. Je voudrais déjà pouvoir automatiser l'enregistrement des fichiers du disque dans la base de données. Si quelqu'un a une idée ou une méthode pour y arriver çà m'aiderais  beaucoup. Pour l'affichage  dans un tree  j'essaie d'adapter les  codes  que j'ai pu trouver sur le site mais  ils sont tous en swing  (Jtree) il n'y aurait pas plus simple? ... Sos c vraiment important.
Merci d'avance
habs"Développer c'est avant tout un plaisir..."

dimanche 27 juillet 2008 à 13:26:50 | Re : enregistrer un système de fichier dans une base de données

habitech


Pour préciser un peu mieux mon problème actuel,je ne sais pas sous quel architecture stocker mes fichiers et répertoires dans la base de données.Est-ce qu'il faut créer une table pour chaque répertoire ou bien  il y a une structure qui le permet déjà.Merci  de me débloquer!
habs"Développer c'est avant tout un plaisir..."

dimanche 27 juillet 2008 à 13:38:13 | Re : enregistrer un système de fichier dans une base de données

Chatbour

Membre Club
Salut,

c'est très intéressant comme projet !

ok, j'ai une idée : je peux modéliser une arborescence avec ces tables :


repertoire
(idRep, nomRep, droits)

est_un_sous_repertoire_de (idSousRep, idRep)

fichier (idFichier, nomFichier, droits, type)

est_sous (idFichier, idRep)



j'espère que ça t'apportera de l'aide..

Bonne courage




_____________________
Vos avis et critiques sur le livre "Objets réactifs en java" de Frédéric Boussinot : contactez moi par MP..
[ Lien ]

lundi 28 juillet 2008 à 18:29:19 | Re : enregistrer un système de fichier dans une base de données

habitech

Bonjour,Merci pour ta réponse.Je commençais aussi à penser à un tel modèle mais le tien est plus élaboré (j'avais pas pensé à la relation est_sous_rep_de) parcontre je pense qu'au lieu la relation "est_sous" on pourrait juste mettre une clé  étrangère pour les fichiers du genre
 [ fichiers(id_fich,nom_fich,droits,taille,type,nom_rep) ]
çà permettrait déjà d'éviter des fichiers fantômes (sans répertoires) d'un autre coté un ami m'a proposé un arbre de dossiers. Mais je n'ais pas encore exploré l'option, tu en penses quoi?
Merci encore

habs"Développer c'est avant tout un plaisir..."

lundi 28 juillet 2008 à 20:36:01 | Re : enregistrer un système de fichier dans une base de données

Chatbour

Membre Club
Salut,

oui en fait ton idée à propos de la clé étrangère est plus safe..

mais au lieu de mettre nomRep comme clé étrangère mets idRep (règle de base dans la conception)..

bonne continuation..





_____________________
Vos avis et critiques sur le livre "Objets réactifs en java" de Frédéric Boussinot : contactez moi par MP..
[ Lien ]

lundi 28 juillet 2008 à 21:29:54 | Re : enregistrer un système de fichier dans une base de données

habitech

Merci, effectivement. Si non pour le listage dans une page web, l'utilisation des Tree avec jsp tu n'aurais pas une idée un exemple ou un tuto?Autrement c pas grave. Je commencerai déjà à écrire le code pour le stockage, les utilisateurs et les droits. Bref le programme d'une bonne longue soirée. Merci encore et à bientôt.

habs"Développer c'est avant tout un plaisir..."

lundi 28 juillet 2008 à 22:23:22 | Re : enregistrer un système de fichier dans une base de données

Chatbour

Membre Club
Re,

pour l'utilisation du composant JTree voici des tutoriels :

http://www.apl.jhu.edu/~hall/java/Swing-Tutorial/Swing-Tutorial-JTree.html
http://prevert.upmf-grenoble.fr/Prog/Java/swing/JTree.html

bonne chance dans le projet..

En fait, je voudrai connaître plus sur ton projet : c'est dans le cadre d'un PFE ? tu essayes de faire une sorte d'application de sauvegarde ?



_____________________
Vos avis et critiques sur le livre "Objets réactifs en java" de Frédéric Boussinot : contactez moi par MP..
[ Lien ]

mardi 29 juillet 2008 à 10:20:43 | Re : enregistrer un système de fichier dans une base de données

habitech


En fait c'est un projet de stage.Une application web  pour un intranet qui sera déployée sur un serveur interne et adressée en local. L'application servira à faire une administration partagée du serveur suivant des droits d'accès des utilisateurs.

 Pour les tutoriels , comme je le disais plus haut, j'ai déjà exploré quelques solutions avec JTree (swing) mais j'ai des difficultés à les adapter à mon application web. Tu vois un peu ce n'est pas le même contexte. Je sais que l'objet Tree  existe pour  java (jsp, jsf) par exemple pour visual jsf on a la classe "java.webjuif.Tree" .Mais je n'arrive pas à trouver pas de bonne documentation sur comment l'utiliser. Merci quand même pour les tutos.
habs"Développer c'est avant tout un plaisir..."

mardi 29 juillet 2008 à 10:30:20 | Re : enregistrer un système de fichier dans une base de données

habitech


Pour la classe c'est plutôt "com.sun.webui.jsf.component.Tree" en visual  au temps pour moi.
"Développer c'est avant tout un plaisir..."

mercredi 6 août 2008 à 14:25:57 | Re : enregistrer un système de fichier dans une base de données du nouveau

habitech

Bonjour à tous,j'essaie de trouver une méthode pour enregistrer le contenu de mon disque dur dans une base de données du moins les noms des différents fichiers et répertoires. Voici mes tables:

fichiers(id,nom,taille,chemin,level,groupe,chParent)
repertoires(id,nom,taille,chemin,level,groupe,chParent) //chParent=chemin Parent

level et groupe son juste des entiers que je compte utiliser pour des droits d'accès par la suite.D'ailleurs ils sont à 0 par défaut.
J'ai créé pour cela une méthode  que je pensais  infaillible jusqu'aujourd'hui! Premier test 4 enregistrements et  erreur!! Quelqu'un aurait-il une idée de comment procéder?J'ai vraiment besoin d'aide sur ce coup! Merci pour toute contribution.

Méthode: c'est une méthode récursive
    public void uptoDate(){
        //On renouvelle les tables avant de les remplir à nouveau (plus tard)
        //on récupère les lecteurs
      _roots=File.listRoots();
      for(int i=0;i<_roots.length;i++){
        File root=lecture(_roots[i]);!!!! (méthode récursive)
        if(!listeR.equals("")) ajouter("repertoires",listeR);
        if(!listeF.equals("")) ajouter("fichiers",listeF);
 listeF=listeF+",('"+root.getName()+"',"+root.getTotalSpace()+",'"+root.getAbsolutePath()+"',"+0+","+0+",'"+root.getParent()+"')";
        ajouter("fichier", listeF);
      }
     
    }

    public File lecture(File root){
        //on ajoute les répertoires
        CheminR=root.getAbsolutePath();
        listeR="('"+root.getName()+"',"+root.getTotalSpace()+",'"+CheminR+"',"+0+","+0+",'"+getParent(CheminR)+"')";
        ajouter("repertoires",listeR);
        //on récupère la liste des fichiers et des sous répertoires
        File[] list =root.listFiles();
        if(list!=null){
            //pour chaque répertoires on appelle cette méthode ==> récursivité
            for(int j=0;j<list.length;j++){
                File file=null;
                if(list[j].isDirectory()){
                    file=lecture(list[j]);//on ajoute les fichiers
                    CheminF=file.getAbsolutePath();(l'erreur est indiquée ici)
                    listeF="('"+file.getName()+"',"+file.getTotalSpace()+",'"+CheminF+"',"+0+","+0+",'"+getParent(CheminF)+"')";
                    ajouter("fichiers",listeF);
                }else{
                    return list[j];
                }
            }
        }
        return finRep;
    }  

    public void ajouter(String type,String liste){
        connect.ajouterFile(type, liste); //à priori tout ce passe bien ici!
    }

erreur!:
java.lang.NullPointerException
javax.faces.el.EvaluationException: java.lang.NullPointerException
        at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:91)
        at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:91)
        at javax.faces.component.UICommand.broadcast(UICommand.java:383)
        at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:447)
        at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:752)
        (...................)
        at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
        at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
Caused by: java.lang.NullPointerException
        at lanServer.Beans.ActionBean.lecture(ActionBean.java:164)
        at lanServer.Beans.ActionBean.uptoDate(ActionBean.java:143)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       (....................)
        at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:77)
        ... 40 more
#{actionBean.uptoDate}: java.lang.NullPointerException
javax.faces.FacesException: #{actionBean.uptoDate}: java.lang.NullPointerException
        at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:107)
        at javax.faces.component.UICommand.broadcast(UICommand.java:383)
        at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:447)
        at (.......)

Merci encore pour toute contribution.
habs"Développer c'est avant tout un plaisir..."



Cette discussion est classé dans : fichier, enregistrer, base, données, système


Répondre à ce message

Sujets en rapport avec ce message

extaire les données d'un fichier XMl et les enregistrer dans une base de donnée access [ par maytica ] je veut analyser un fichier XMl et extraire ses données pour les enregistrer dans une base de donnée "access",j'essayer pas mal de fois mais ça n'a p Coment faire pour imprimer en java et enregistrer dans un fichier [ par benito1er ] bonjour, je veux imprimer des données que je vais chercher dans une base de données. j'affiche ses données dans une Jtable, et maintenant je veux les exporter des données access vers un fichier excel [ par munisys ] salut,j ai besoin d aide !!!!c'est urgent svp.En fait, je programme une application en java.et donc je dois creer un bouton ...une fois je clique dess une base de données embarquée en 1 seul fichier [ par romuluslepunk ] Bonjour,Je cherche un systeme de base de données pouvant être embarqué, gratuit et multiplateforme.J'ai essayé hsqdb et derby mais elles sont structur Insérrer un fichier dans une base de données [ par rakyouna ] Slt à tous,Je veux enregistrer un fichier, qui sera saisi à partir d'un formulaire, dans une base de données MySQL.Voici un extrait de mon formulaire Problème de Connexion MS Access et Java [ par eclisia ] Bonjour,</fon java et base de données fichier [ par youri01 ] Bonjour, je suis débutant en java, je souhaite me lancer dans la réalisation d'applications de gestion de base de données. par exemple : une applica enregistrer dans fichier access [ par mourdjana14 ] bonjour!j'ai une liste de données afficher dans un textArea et j'ai besoin ces champs de données dans fichier access.aidez moi svp.et merci de me répo ENREGISTRER [ par gaouinformaticien ] Salut à tous. Je voudrais savoir comment me prendre pour enregistrer les données d'un champ dans une base de données Mysql ou Access? J'utilise


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
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 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,218 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é.