Configurei um pool de conexão no Tomcat apontando para o banco de dados Oracle, conforme descrito a seguir.
1) copiei o arquivo ojdbc14.jar para CATALINA_HOME/lib;
2) adicionei o pool no arquivo CATALINA_HOME/conf/context.conf
<Resource name="jdbc/myoracleDB" auth="Container" type="javax.sql.DataSource"
maxActive="10" maxIdle="3" maxWait="5000"
username="usuario" password="senha" driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@oracleserver1:1521:orcl"/>
3) Na aplicação de exemplos do próprio Tomcat (/examples) adicionei o pool no web.xml:
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/myoracleDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
4) Adicionei uma página JSP de teste na aplicação de exemplos (/examples) do próprio Tomcat:
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<sql:query var="rs" dataSource="jdbc/myoracleDB">
SELECT
Trunc(Trunc(SYSDATE,'MONTH')-1,'MONTH') inicio_mes
FROM
dual
</sql:query>
<html>
<head>
<title>DB Test</title>
</head>
<body>
<h2>Results</h2>
<c:forEach var="row" items="${rs.rows}">
Inicio do mes: ${row.inicio_mes}<br/>
</c:forEach>
</body>
</html>
Até aqui funcionou, sem problemas!
Refiz os passos acima para outra aplicação minha e não funcionou!
Acusa o seguinte erro:
javax.servlet.jsp.JspException: Unable to get connection, DataSource invalid:
"java.sql.SQLException: No suitable driver found for jdbc/myoracleDS"
Googlando um pouco, achei a seguinte sugestão: adicionar à CATALINA_HOME/lib os commons DBCP, Pool e Collection.
Segui a sugestão, mas sem sucesso.
Alguma luz no fim do túnel?
