Bonjour,
Il y a 2-3 ans, j'ai écrit une application qui tourne sous Tomcat4.1 avec la gestion d'un pool de connexions.
Aujourd'hui je dois la faire tourner sous Tomcat5.5 mais cela ne marche pas. J'ai le fameux message: Cannot create JDBC driver of class '' for connect URL 'null'...
Dans le web.xml de mon application, j'ai mis ceci:
Dans le server.xml de Tomcat, j'ai mis ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <resource-ref> <description>reference a la ressource BDD pour le pool</description> <res-ref-name>jdbc/mydb2</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref>
Dans Tomcat4.1, j'avais ajouté dans <Tomcat>/common/lib les librairies commons-dbcp-1.1.jar et commons-pool-1.1.jar.
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
46
47
48
49
50
51
52
53 <Context className="org.apache.catalina.core.StandardContext" cachingAllowed="true" charsetMapperClass="org.apache.catalina.util.CharsetMapper" cookies="true" crossContext="false" debug="0" docBase="\ConsultationTablesSica" mapperClass="org.apache.catalina.core.StandardContextMapper" path="/ConsultationTablesSica" privileged="false" reloadable="true" swallowOutput="false" useNaming="true" wrapperClass="org.apache.catalina.core.StandardWrapper"> <Logger className="org.apache.catalina.logger.FileLogger" debug="1" directory="logs" prefix="ConsultationTablesSica_" suffix=".txt" timestamp="true" verbosity="1"/> <Resource auth="Container" name="jdbc/mydb2" scope="Shareable" type="javax.sql.DataSource"/> <ResourceParams name="jdbc/mydb2"> <parameter> <name>url</name> <value>jdbc:odbc:GREP31</value> </parameter> <parameter> <name>maxIdle</name> <value>50</value> </parameter> <parameter> <name>maxActive</name> <value>50</value> </parameter> <parameter> <name>driverClassName</name> <value>sun.jdbc.odbc.JdbcOdbcDriver</value> </parameter> <parameter> <name>maxWait</name> <value>10000</value> </parameter> <parameter> <name>removeAbandoned</name> <value>true</value> </parameter> <parameter> <name>username</name> <value>y0000</value> </parameter> <parameter> <name>factory</name> <value>org.apache.commons.dbcp.BasicDataSourceFactory</value> </parameter> <parameter> <name>logAbandoned</name> <value>true</value> </parameter> <parameter> <name>removeAbandonedTimeout</name> <value>20</value> </parameter> <parameter> <name>password</name> <value>y0000</value> </parameter> </ResourceParams> </Context>
Dans Tomcat5.5, j'ai vu que la librairie naming-factory-dbcp.jar contenait déjà tout ce qu'il fallait. Avec cependant une différence: la classe BasicDataSourceFactory ne se trouve pas dans le même package. J'ai donc remplacé org.apache.commons.dbcp.BasicDataSourceFactory par org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory. Sans succès!
J'ai parcouru les forums et FAQ mais je n'ai pas trouvé mon bonheur.
Partager