JDBC: problème de driver de classe avec Tomcat
Bonjour,
j'essaye d'utiliser une source de données avec Tomcat.
Voici le programme principal PoolExample.jsp :
Code:
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 54 55 56 57
| <html>
<head>
<title>Chapter 7 Exemple d'utilisation d'un pool avec une JSP</title>
<%@ page import="java.sql.*, javax.sql.*, java.io.*, javax.naming.*"
contentType="text/html; charset=ASCII" %>
</head>
<body>
<h1>Chapter 7 Exemple d'utilisation d'un pool avec une JSP</h1>
<%
InitialContext context = new InitialContext();
DataSource dataSource = (DataSource) context.lookup("java:comp/env/jdbc/countries");
Connection conn = null;
Statement stmt = null;
ResultSet rset = null;
try {
conn = dataSource.getConnection();
stmt = conn.createStatement();
rset = stmt.executeQuery("select * from COUNTRIES");
if (rset.next()) {
%>
<table width="100%" border="1">
<tr align="left">
<th>Pays</th><th>Code ISO</th><th>Région</th>
</tr>
<%
do {
%>
<tr>
<td><%= rset.getString(1) %></td>
<td><%= rset.getString(2) %></td>
<td><%= rset.getString(3) %></td>
</tr>
<%
} while (rset.next());
%>
</table>
<%
} else {
%>
La requête n'a retourné aucun résultat.
<%
}
} catch (SQLException e) {
%>
<%= e.getMessage() %>
<%
e.printStackTrace();
} finally {
if (rset != null) { rset.close(); }
if (stmt != null) { stmt.close(); }
if (conn != null) { conn.close(); }
if (context != null) { context.close(); }
}
%>
</body>
</html> |
e programme marche très bien avec le serveur sun J2EE, donc à priori pas de problèmes.
Voici la modi dans le fichier server.xml :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| <DefaultContext>
<Resource name="jdbc/countries" auth="Container"
type="javax.sql.DataSource" />
<ResourceParams name="jdbc/countries">
<parameter>
<name>driverClassName</name>
<value>com.pointbase.jdbc.jdbcUniversalDriver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:pointbase:server://localhost/pointbaseDB</value>
</parameter>
<parameter>
<name>username</name>
<value>PBPUBLIC</value>
</parameter>
<parameter>
<name>password</name>
<value>PBPUBLIC</value>
</parameter>
</ResourceParams>
</DefaultContext> |
Bout de programme inséré juste avant le Enfin le web.xml :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| <?xml version="1.0"?>
<web-app>
<display-name>Web App</display-name>
<servlet>
<servlet-name>PoolExample</servlet-name>
<jsp-file>/PoolExample.jsp</jsp-file>
</servlet>
<resource-ref>
<res-ref-name>jdbc/countries</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
</resource-ref>
</web-app> |
L'arborescence des répertoires est celle-ci sous webapps:
pe/
PoolExample.jsp
WEB-INF/
web.xml
J'ai pris soin de démarrer Pointbase qui correspond à ma base de données.
Voilà, le message d'erreur que j'obtiens:
Citation:
Cannot create JDBC driver of class '' for connect URL 'null'
Si quelqu'un a une idée, je suis preneur, car j'ai vérifié les fichiers ils ont l'air bon.
Merci d'avance.
mumu27!