Hola,
LLevo varios dias intentando que funcione el pool de conexiones a Oracle y no hay manera . A ver si me podeis ayudar en saber que estoy haciendo mal:
Uso Tomcat 4.1.30 / Oracle9i / JBuilderX (W2000)
Dentro del directorio \common\lib tengo las librerias: classes12.jar - ojdbc14.jar
Dentro del CLASSPATH del entorno windows tengo referenciado lo siguiente:
c:\oracle\ora92\jdbc\lib\classes12.zip;c:\oracle\o ra92\jdbc\lib\nls_charset12.zip;c:\oracle\ora92\jd bc\lib\ojdbc14.jar;
1) He creado el JNDI a traves del administrador de Tomcat:
<Context className="org.apache.catalina.core.StandardContex t" cachingAllowed="true" charsetMapperClass="org.apache.catalina.util.Chars etMapper" cookies="true" crossContext="true" debug="0" path="/pruebas" docBase="C:\jakarta-tomcat-4.1.30\webapps\pruebas" mapperClass="org.apache.catalina.core.StandardCont extMapper" privileged="false" reloadable="true" swallowOutput="false" useNaming="true" wrapperClass="org.apache.catalina.core.StandardWra pper">
<Resource name="jdbc/PruebaPool" auth="Container"
type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/PruebaPool">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFact ory</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>oracle.jdbc.driver.OracleDriver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:oracle:thin:@ip:1521:sid</value>
</parameter>
<parameter>
<name>username</name>
<value>usuario</value>
</parameter>
<parameter>
<name>password</name>
<value>password</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>20</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>10</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>-1</value>
</parameter>
</ResourceParams>
</Context>
2) En el web.xml de lo que estoy probando tengo:
<resource-ref>
<description>Prueba Resource - Data Source</description>
<res-ref-name>jdbc/PruebaPool</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
3) En el .jsp que estoy probando tengo:
try{
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:/comp/env");
DataSource ds = (DataSource)envCtx.lookup("jdbc/PruebaPool");
//DataSource ds = (DataSource)initCtx.lookup("java:/comp/env/jdbc/PruebaPool");
Connection conn = ds.getConnection();
out.print("Realizada la sentencia con exito");
conn.close();
}catch(Exception e) {
System.out.println("Error en <PruebaPool>");
System.out.println(e.getMessage());
}
4) Dentro del directorio \webapps de Tomcat tengo un subdirectorio \pruebas, y en este esta el jsp y el directorio \web-inf que contiene el web.xml.
5) Al ejecutar el jsp, me sale lo que sigue:
Error en <PruebaPool>
El nombre java: no este asociado a este contexto
Muchas gracias de antemano por vuestra ayuda!
Un saludo,