Error javax.naming.NameNotFoundException en un con
Publicado por Sera (2 intervenciones) el 16/03/2004 18:36:02
Hola a todo@s!!
Llevo varios días intentando configurar un pool de conexiones para conectarme con una BD Oracle
a través de un servidor Tomcat 4.1 (en Windows XP). He mirado varios foros y he seguido todas las
instrucciones, pero no consigo configurarlo bien. El error que siempre me aparece es:
"Excepción del tipo javax.naming.NameNotFoundException: el nombre java: no este asociado a este contexto en el método getConnection"
Por favor, ya no sé que más hacer. Me estoy volviendo loco!!!
Esto es lo que añado al fichero server.xml file, justo después de la etiqueta de cierre "</GlobalNamingResources>":
<!-- Sera: ini -->
<Context path="/informes_web" docBase="informes_web" debug="0" reloadable="true" crossContext="true">
<Resource name="jdbc/myoracle" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/myoracle">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>oracle.jdbc.driver.OracleDriver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:oracle:thin:@192.168.101.177:1521:DGE</value>
</parameter>
<parameter>
<name>username</name>
<value>informes</value>
</parameter>
<parameter>
<name>password</name>
<value>informes</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>
<!-- Sera: fin -->
------------------------------------------------
Y en el web.xml pongo:
<resource-ref>
<description>
Referencia del recurso a la fábrica java.sql.Connection definida en server.xml
</description>
<res-ref-name>jdbc/myoracle</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
Tengo todas las librerías copiadas en la carpeta common/lib folder, incluida la librería classes12.jar
con los drivers de oracle
Y el código java que utilizo para crear una conexión es:
private Connection getConnection()
{
Connection conn = null;
try
{
Context initContext = new InitialContext();
Context envContext = (Context)initContext.lookup("java:/comp/env");
// Context envContext = (Context)initContext.lookup("");
DataSource ds = (DataSource)envContext.lookup("jdbc/myoracle");
conn = ds.getConnection();
}
catch (Exception e)
{
this.error("getConnection", e);
}
return conn;
}
¿Puede alguien ayudarme?
Gracias por adelantado!
Llevo varios días intentando configurar un pool de conexiones para conectarme con una BD Oracle
a través de un servidor Tomcat 4.1 (en Windows XP). He mirado varios foros y he seguido todas las
instrucciones, pero no consigo configurarlo bien. El error que siempre me aparece es:
"Excepción del tipo javax.naming.NameNotFoundException: el nombre java: no este asociado a este contexto en el método getConnection"
Por favor, ya no sé que más hacer. Me estoy volviendo loco!!!
Esto es lo que añado al fichero server.xml file, justo después de la etiqueta de cierre "</GlobalNamingResources>":
<!-- Sera: ini -->
<Context path="/informes_web" docBase="informes_web" debug="0" reloadable="true" crossContext="true">
<Resource name="jdbc/myoracle" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/myoracle">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>oracle.jdbc.driver.OracleDriver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:oracle:thin:@192.168.101.177:1521:DGE</value>
</parameter>
<parameter>
<name>username</name>
<value>informes</value>
</parameter>
<parameter>
<name>password</name>
<value>informes</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>
<!-- Sera: fin -->
------------------------------------------------
Y en el web.xml pongo:
<resource-ref>
<description>
Referencia del recurso a la fábrica java.sql.Connection definida en server.xml
</description>
<res-ref-name>jdbc/myoracle</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
Tengo todas las librerías copiadas en la carpeta common/lib folder, incluida la librería classes12.jar
con los drivers de oracle
Y el código java que utilizo para crear una conexión es:
private Connection getConnection()
{
Connection conn = null;
try
{
Context initContext = new InitialContext();
Context envContext = (Context)initContext.lookup("java:/comp/env");
// Context envContext = (Context)initContext.lookup("");
DataSource ds = (DataSource)envContext.lookup("jdbc/myoracle");
conn = ds.getConnection();
}
catch (Exception e)
{
this.error("getConnection", e);
}
return conn;
}
¿Puede alguien ayudarme?
Gracias por adelantado!
Valora esta pregunta


0