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

GWT et Vaadin Java Discussion :

GWT base de données Erreur


Sujet :

GWT et Vaadin Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 9
    Points : 7
    Points
    7
    Par défaut GWT base de données Erreur
    Bonjour a tous,

    Nous travaillons actuellement sur un projet en IUT sur GWT et nous n'arrivons pas a nous connecter a la base de données. Lorsqu'on veut s'y connecter, il nous lance l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    creche_0.server.serviceBD.Database.connectToDatabase() : Pb de connexion java.sql.SQLException: File input/output errorBDD/Creche.properties java.security.AccessControlException: access denied (java.io.FilePermission BDD write)
    30 nov. 2009 13:58:04 com.google.appengine.tools.development.ApiProxyLocalImpl log
    SEVERE: [1259589484386000] javax.servlet.ServletContext log: Exception while dispatching incoming RPC call
    com.google.gwt.user.server.rpc.UnexpectedException: Service method 'public abstract void creche_0.client.serviceBD.BDService.enrEnfant(creche_0.client.metier.Enfant)' threw an unexpected exception: java.lang.NullPointerException
    	at com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java:360)
    	at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:546)
    	at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:166)
    	at com.google.gwt.user.server.rpc.RemoteServiceServlet.doPost(RemoteServiceServlet.java:86)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:713)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
    	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
    	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
    	at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)
    	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
    	at com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:121)
    	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
    	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
    	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
    	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
    	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
    	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
    	at com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:54)
    	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
    	at com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:342)
    	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
    	at org.mortbay.jetty.Server.handle(Server.java:313)
    	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506)
    	at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:844)
    	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:644)
    	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:205)
    	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381)
    	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:396)
    	at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)
    Caused by: java.lang.NullPointerException
    	at creche_0.server.serviceBD.SQLTableEnfant.creerTable(SQLTableEnfant.java:71)
    	at creche_0.server.serviceBD.SQLTableEnfant.<init>(SQLTableEnfant.java:38)
    	at creche_0.server.serviceBD.Database.getSQLTableEnfant(Database.java:177)
    	at creche_0.server.serviceBD.BDServiceImpl.enrEnfant(BDServiceImpl.java:22)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    	at java.lang.reflect.Method.invoke(Unknown Source)
    	at com.google.appengine.tools.development.agent.runtime.Runtime.invoke(Runtime.java:100)
    	at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:527)
    	... 27 more
    Apparement, il s'agit clairement d'un objet qui est null mais impossible de trouver ! Seulement, nous avons tester avec un objet clairement non null mais ... c'est toujours pareil !

    Si vous avez une éventuelle idée quelconque, nous sommes preneur !
    Merci moulte et moulte fois pour votre future aide providentiel !


    Config :
    Eclipse Gallileo avec plugin GWT 1.5
    ext gwt 2

  2. #2
    Rédacteur
    Avatar de benwit
    Profil pro
    dev
    Inscrit en
    Septembre 2004
    Messages
    1 676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 676
    Points : 4 265
    Points
    4 265
    Par défaut
    Pour moi, la première ligne est claire, il n'arrive pas à se connecter à la base de données.

    Avez vous fait un test unitaire côté serveur permettant déjà de tester la connexion à la base.
    Autrement dit, un test de la méthode d'implémentation du service GWT indépendamment du client.

    Tout le monde savait que c'était impossible. Il est venu un imbécile qui ne le savait pas et qui l'a fait. Marcel PAGNOL
    On ne savait pas que c'était impossible, alors on l'a fait. John Fitzgerald KENNEDY.
    L'inexpérience est ce qui permet à la jeunesse d'accomplir ce que la vieillesse sait impossible. Paul (Tristant) BERNARD
    La meilleure façon de prédire l'avenir, c'est de l'inventer.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    On a fait un test simple avec un bouton qui enregistre dans la bdd les eléments affichés et toujours le meme probleme.
    On se demande si cela viendrait pas de notre code, tout simplement.
    Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    	String dbName = "jdbc:hsqldb:BDD/Creche";
    		
    		String drvName = "org.hsqldb.jdbcDriver";
    		String userName = "sa";
    		String pw = "";
    		String transac = "none";
    		Connection cnx = null;
    		
    		System.out.println("nom driver " + drvName);
    		System.out.println("nom base : " + dbName);
    	
    		
    		Properties prop = new Properties();
    		prop.put("user", userName);
    		prop.put("password", pw);
    		prop.put("transaction isolation", transac);
    	
    		try
    		{
    			Class.forName(drvName);
    		}
    		catch (ClassNotFoundException e)
    		{
    			System.out.println(NomMeth + "Sur le Class.forName " + e.toString());
    		}
    		catch (Throwable e)
    		{
    			System.out.println(NomMeth + "Driver impossible à charger " + e.toString());
    		}
    	
    		try
    		{
    			cnx = DriverManager.getConnection(dbName, prop);
    			System.out.println(NomMeth + "Connexion établie " + cnx.toString());
    		}
    		catch (SQLException e)
    		{
    			System.out.println(NomMeth + "Pb de connexion " + e.toString());
    		}
    Voila, c'est donc la classe qui est sensée nous permette de nous connecter a la bdd...

    Grand merci a vous qui nous aidés !

    Salutation

    ps : notre erreur se situe au niveau de la ligne rouge !
    dites nous si il vous faut autre chose pour nous aidé !

  4. #4
    Rédacteur
    Avatar de benwit
    Profil pro
    dev
    Inscrit en
    Septembre 2004
    Messages
    1 676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 676
    Points : 4 265
    Points
    4 265
    Par défaut
    Si c'est la ligne en rouge, c'est ce que je vous dit, c'est qu'à partir de ce code serveur, la connexion à la base de donnée n'arrive pas à se faire.

    Vous récuperer une exception !

    Ce n'est pas un problème GWT mais un problème JAVA/Base de donnée plus général.


    En écrivant "jdbc:hsqldb:BDD/Creche" et si on en croit la doc (http://hsqldb.org/doc/guide/ch04.html), votre base est dans le fichier Creche du dossier BDD ?

    Or d'après l'erreur, il y a un problème de permission sur BDD.

    Soit le fichier BDD/Creche n'est pas trouvé, soit le process Java n'a pas les droits d'accès dessus.

    Tout le monde savait que c'était impossible. Il est venu un imbécile qui ne le savait pas et qui l'a fait. Marcel PAGNOL
    On ne savait pas que c'était impossible, alors on l'a fait. John Fitzgerald KENNEDY.
    L'inexpérience est ce qui permet à la jeunesse d'accomplir ce que la vieillesse sait impossible. Paul (Tristant) BERNARD
    La meilleure façon de prédire l'avenir, c'est de l'inventer.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Aprés avoir :

    - créer les dossiers BDD/Creche,
    - essayer de mettre tous les droits sur le dossier où est créé BDD/Creche,
    - fait une tentative de suicide (echouée),
    - chercher sur internet...

    On ne sait plus quoi faire !

    On a essayé avec un projet non GWT, la BDD est crée sans aucun probléme...
    C'est clair qu'il s'agit d'un probleme de droit mais ... d' ou vient il ?

    Nous ne savons pas !

    Merci encore !

  6. #6
    Rédacteur
    Avatar de benwit
    Profil pro
    dev
    Inscrit en
    Septembre 2004
    Messages
    1 676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 676
    Points : 4 265
    Points
    4 265
    Par défaut
    Je crois que j'ai peut être compris en lisant la ligne "com.google.appengine.tools.development.ApiProxyLocalImpl"

    Quand vous avez créé un projet GWT (probalement avec le plugin pour eclipse), l'option GAE a du être cochée.

    • Soit effectivement, vous voulez faire un projet compatible GAE mais dans ce cas, il faudra prendre en compte les limitations de Google App Engine, à savoir l'impossibilité d'accèder à leur disque. Dans ce cas, vous conservez votre projet mais la persistence ne pourra pas se faire dans une base HSQL.

    • Soit, vous n'avez pas besoin de GAE et il faut désactiver ce support.
      Vous pouvez le faire en créant un nouveau projet GWT sans l'option GAE et récupérer le contenu de l'ancien projet ou peut être, en allant le désactiver dans les propriétés du projet :


    Images attachées Images attachées  

    Tout le monde savait que c'était impossible. Il est venu un imbécile qui ne le savait pas et qui l'a fait. Marcel PAGNOL
    On ne savait pas que c'était impossible, alors on l'a fait. John Fitzgerald KENNEDY.
    L'inexpérience est ce qui permet à la jeunesse d'accomplir ce que la vieillesse sait impossible. Paul (Tristant) BERNARD
    La meilleure façon de prédire l'avenir, c'est de l'inventer.

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Merci, c'etait bien ça !

    Merci merci merci !! On va pouvoir, enfin, avancer un peu plus !!!

    Nous te remercions tres beaucoup !!



    Encore une fois MERCI !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2012] Erreur installation Moteur de base de données. Erreur 0x851A001A
    Par Vox1664 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 17/02/2016, 14h45
  2. Connexion base de données, erreur "NullPointerException"
    Par senol1 dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 01/02/2013, 18h49
  3. Copie base de données - Erreur d'exécution
    Par lynal dans le forum Administration
    Réponses: 16
    Dernier message: 13/02/2012, 11h22
  4. GWT - Base de données
    Par peaceful dans le forum GWT et Vaadin
    Réponses: 2
    Dernier message: 08/05/2009, 22h30
  5. [vb.net][base de données]erreur
    Par Alex35 dans le forum Accès aux données
    Réponses: 4
    Dernier message: 16/11/2005, 11h24

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