Bonjour,

j'essaye d'utiliser une source de données avec Tomcat.

Voici le programme principal PoolExample.jsp :

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
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 : 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
<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 : Sélectionner tout - Visualiser dans une fenêtre à part
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:

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!