Probleme Application JAVA Connexion DB MySQL (connector/J driver)

Probleme Application JAVA Connexion DB MySQL (connector/J driver) - Java - Programmation

Marsh Posté le 27-08-2013 à 00:11:13    

Bonsoir tout le monde,
 
J'ai un petit soucis. Je suis en train de développer une application client qui doit permettre de gérer une base de données MySLQ distante... J'ai donc configuré le projet de la façon suivante :
 
-) Dans l'onglet services-Databases, j'ai ajouté une connexion avec le Connector/J driver.
-) Création d'une jdbc ressource et d'un jdbc connection pool...
 
Lorsque je run l'application dans netbeans ca fonctionne parfaitement... Mais lorsque que je lance le projet "cleaned and built" (dossier dist) j'ai une erreur dont voilà la stacktrace :
 
http://toum.be/stacktrace.png
 
et le message de l'erreur :
 
"Need to specify class name in environment property, or as an applet parameter, or in an application resource file : java.naming.factory.initial"
 
J'ai essayé d'ajouter le jar du connector/j driver au dossier dist et dist/lib mais ca ne change rien...
 
mon fichier glassfish-ressources.xml

Citation :

<resources>
  <jdbc-resource enabled="true" jndi-name="jdbc/myDatasource" object-type="user" pool-name="Pool">
    <description/>
  </jdbc-resource>
  <jdbc-connection-pool allow-non-component-callers="false" associate-with-thread="false" connection-creation-retry-attempts="0" connection-creation-retry-interval-in-seconds="10" connection-leak-reclaim="false" connection-leak-timeout-in-seconds="0" connection-validation-method="auto-commit" datasource-classname="com.mysql.jdbc.jdbc2.optional.MysqlDataSource" fail-all-connections="false" idle-timeout-in-seconds="300" is-connection-validation-required="false" is-isolation-level-guaranteed="true" lazy-connection-association="false" lazy-connection-enlistment="false" match-connections="false" max-connection-usage-count="0" max-pool-size="32" max-wait-time-in-millis="60000" name="lipstiPool" non-transactional-connections="false" ping="false" pool-resize-quantity="2" pooling="true" res-type="javax.sql.DataSource" statement-cache-size="0" statement-leak-reclaim="false" statement-leak-timeout-in-seconds="0" statement-timeout-in-seconds="-1" steady-pool-size="8" validate-atmost-once-period-in-seconds="0" wrap-jdbc-objects="false">
    <property name="URL" value="jdbc:mysql://xxx.xxx.xxx.xxx:3306/xxx?zeroDateTimeBehavior=convertToNull"/>
    <property name="serverName" value="xxx.xxx.xxx.xxx"/>
    <property name="PortNumber" value="3306"/>
    <property name="User" value="xxx"/>
    <property name="Password" value="xxx"/>
    <property name="databaseName" value="xxx"/>
  </jdbc-connection-pool>
</resources>


 
Si quelqu'un sait comment régler ce problème ou a ne serait-ce qu'une piste, ce serait bien gentil de m'en faire part  
 
Merci!

Reply

Marsh Posté le 27-08-2013 à 00:11:13   

Reply

Marsh Posté le 27-08-2013 à 09:34:35    

Tu essayes d'accéder à une ressource jndi et il manque des éléments de configuration (ie la naming factory class).


---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Marsh Posté le 27-08-2013 à 11:46:52    

des éléments? ha bon, je l'ai créé avec l'assistant de netbeans pourtant et ca fonctionne avec un run dans netbeans...  
 
J'ai cherché un peu partout mais j'ai rien trouvé... t'ajouterai quoi? où?
J'ai essayé en ajoutant la propriété factory-class="com.mysql.jdbc.Driver" a la resource

Code :
  1. <jdbc-resource enabled="true" jndi-name="jdbc/myDatasource" object-type="user" pool-name="mysqlconnectionPool" factory-class="com.msql.jdbc.Driver">


 
mais ca marche toujours pas en dehors de netbeans... dedans y a aucun problème ...

Reply

Marsh Posté le 27-08-2013 à 12:37:04    

Je connais pas ton environnement, mais la théorie c'est: tu accèdes à une ressource (ta connexion jdbc) via un nom (le jndi-name) dans un annuaire de ressources (jndi). Cet annuaire est mal paramétré dans ton serveur.
 


---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed