Conexión a Oracle con OracleConnectionPoolDataSour
Publicado por Julio J. (2 intervenciones) el 21/06/2007 11:23:02
Estoy intentando conectar una aplicación JSP basada en tomcat con Oracle usando OraclePooledConection y sus clases relaccionadas. Antes estaba usando javax.sql.DataSource y he hecho los cambios justos que necesito para usar estas clases, pero el crear el DataSource me da la excepción "javax.naming.NamingException: Cannot create resource instance".
Los cambios que he hecho son los siguientes:
En el context.xml:
<Context path="/test" docBase="test" debug="0"
reloadable="true" >
<Resource
name="jdbc/test" auth="Container"
type="oracle.jdbc.pool.OracleConnectionPoolDataSource"
maxActive="0" maxIdle="-1" maxWait="-1"
removeAbandoned="true" removeAbandonedTimeout="60" logAbandoned="true"
username="test" password="test"
driverClassName="oracle.jdbc.pool.OracleConnectionPoolDataSource"
url="jdbc:oracle:thin:@192.168.1.109:1521:GLOBALDB" />
</Context>
En el web.xml (sólo la sección resource-ref):
<resource-ref>
<res-ref-name>jdbc/test</res-ref-name>
<res-type>oracle.jdbc.pool.OracleConnectionPoolDataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
Código que crea la conexión:
initCtx = new InitialContext();
ctx = (Context) initCtx.lookup("java:/comp/env");
fuenteDatos = (OracleConnectionPoolDataSource) ctx.lookup("/jdbc/ganaderia");
PooledConnection pc = fuenteDatos.getPooledConnection();
con = pc.getConnection();
Buscando por google he encontrado también ejemplos que usan oracle.jdbc.driver.OracleDriver en driverClassName. Yo he probado con las dos clases, pero no me ha funcionado de ninguna de las dos maneras. Por lo que supongo que el error estará en otro sitio.
Si sabéis lo que puede estar pasando os agradecería la ayuda. Lo he revisado todo y parece estar bien. Ya no se qué hacer para que esto funcione.
Gracias por la ayuda.
Los cambios que he hecho son los siguientes:
En el context.xml:
<Context path="/test" docBase="test" debug="0"
reloadable="true" >
<Resource
name="jdbc/test" auth="Container"
type="oracle.jdbc.pool.OracleConnectionPoolDataSource"
maxActive="0" maxIdle="-1" maxWait="-1"
removeAbandoned="true" removeAbandonedTimeout="60" logAbandoned="true"
username="test" password="test"
driverClassName="oracle.jdbc.pool.OracleConnectionPoolDataSource"
url="jdbc:oracle:thin:@192.168.1.109:1521:GLOBALDB" />
</Context>
En el web.xml (sólo la sección resource-ref):
<resource-ref>
<res-ref-name>jdbc/test</res-ref-name>
<res-type>oracle.jdbc.pool.OracleConnectionPoolDataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
Código que crea la conexión:
initCtx = new InitialContext();
ctx = (Context) initCtx.lookup("java:/comp/env");
fuenteDatos = (OracleConnectionPoolDataSource) ctx.lookup("/jdbc/ganaderia");
PooledConnection pc = fuenteDatos.getPooledConnection();
con = pc.getConnection();
Buscando por google he encontrado también ejemplos que usan oracle.jdbc.driver.OracleDriver en driverClassName. Yo he probado con las dos clases, pero no me ha funcionado de ninguna de las dos maneras. Por lo que supongo que el error estará en otro sitio.
Si sabéis lo que puede estar pasando os agradecería la ayuda. Lo he revisado todo y parece estar bien. Ya no se qué hacer para que esto funcione.
Gracias por la ayuda.
Valora esta pregunta


0