Erreur "Cannot create JDBC driver of class '' for connect URL 'null' [] No suitable driver"
Bonjour,
Alors j'ai un souci de connexion JDBC. J'ai pourtant suivi les doc tomcat, épluché les forums ... rien n'y fait : je bloque.
Mon environnement :
tomcat 6.0.35
jdk 1.5
eclipse
oracle 9i
Ci-dessous mon dev :
[CATALINA_HOME]/conf/context.xml
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
<Context>
<!-- Default set of monitored resources -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<!-- Specify a JDBC datasource -->
<Resource name="myDB" auth="Container" type="javax.sql.DataSource"
driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@machine:port:sid"
username="user" password="mdp"
maxActive="20" maxIdle="10" maxWait="-1" />
</Context> |
WEB-INF/web.xml
Code:
1 2 3 4 5 6 7 8 9 10 11
|
<web-app ...>
...
<!-- Connection BDD -->
<resource-ref>
<description>Oracle Datasource</description>
<res-ref-name>myDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app> |
BDManager.java
Code:
1 2 3 4 5 6 7
|
...
try {
Context ctx = ctx = new InitialContext();
Context envCtx = (Context)ctx.lookup("java:/comp/env/");
DataSource dataSource = (DataSource) envCtx.lookup("myDB");
... |
Ci-dessous mon erreur :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
Exception Chainée : org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'
Cannot create JDBC driver of class '' for connect URL 'null'Pile d'appel de l'exception chainée : org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1452)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1371)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
at com.bouygtel.esav.util.db.BDManager.getConnection(BDManager.java:159)
at com.bouygtel.esav.util.db.DBControler.pexecute(DBControler.java:88)
at com.bouygtel.esav.util.db.DBControler.execute(DBControler.java:149)
at com.bouygtel.esav.util.db.AbstractDAO.execute(AbstractDAO.java:99)
...
Caused by: java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getDriver(DriverManager.java:243)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1437)
... 32 more |
Explication :
Quand je déploie mon appli, mon datasource est initialisé n'est pas renseigné avec les valeurs du context.xml.
L'erreur intervient lors d'une tentative de connection.
J'ai tenté de rajouter "jdbc/" dans le dataSourceName => même erreur.
J'ai tenté de faire la config dans server.xml puis de faire un resourceLink dans context.xml => même erreur.
J'ai tenté de mettre "oracle.jdbc.driver.OracleDriver" dans le driverClassName => même erreur.
Par contre, cela marche quand je met le context.xml dans META-INF (ce que je ne veux pas)
Pour précision, j'ai bien mis le jar ojdbc5.jar dans le répertoire [CATALINA_HOME]/lib.
Quelqu'un aurait-il une idée ?
Merci