Erro ao conectar com o ORACLE

5 respostas
B

Olá comunidade,

Eu tenho uma aplicação feita em JPA 2.0 utilizando o eclipse link como provedor e que utiliza pool de conexões. O banco em que eu desenvolvi a aplicação foi o Oracle 10g e o banco que está instalado no servidor é o Oracle 11g.

Na minha máquina de desenvolvimento o sistema funciona sem problemas. Só que quando eu coloco a aplicação no servidor o erro abaixo é gerado:

Caused by: org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (The Network Adapter could not establish the connection)
	at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549)
	at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388)
	at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
	at org.eclipse.persistence.sessions.JNDIConnector.connect(JNDIConnector.java:126)
	... 34 more
Caused by: java.sql.SQLException: The Network Adapter could not establish the connection
	at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
	at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:131)
	at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:197)
	at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:525)
	at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:413)
	at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:508)
	at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:203)
	at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:33)
	at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:510)
	at org.apache.tomcat.dbcp.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
	at org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)
	at org.apache.tomcat.dbcp.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556)
	at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545)
	... 37 more
Caused by: oracle.net.ns.NetException: The Network Adapter could not establish the connection
	at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:328)
	at oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:421)
	at oracle.net.ns.NSProtocol.establishConnection(NSProtocol.java:630)
	at oracle.net.ns.NSProtocol.connect(NSProtocol.java:206)
	at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:966)
	at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:292)
	... 45 more
Caused by: java.net.ConnectException: Connection refused: connect
	at java.net.PlainSocketImpl.socketConnect(Native Method)
	at java.net.PlainSocketImpl.doConnect(Unknown Source)
	at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
	at java.net.PlainSocketImpl.connect(Unknown Source)
	at java.net.SocksSocketImpl.connect(Unknown Source)
	at java.net.Socket.connect(Unknown Source)
	at java.net.Socket.connect(Unknown Source)
	at java.net.Socket.<init>(Unknown Source)
	at java.net.Socket.<init>(Unknown Source)
	at oracle.net.nt.TcpNTAdapter.connect(TcpNTAdapter.java:127)
	at oracle.net.nt.ConnOption.connect(ConnOption.java:126)
	at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:306)
	... 50 more

Alguém pode me ajudar?

Obrigado a todos.

5 Respostas

N

como que está sua config no tomcat para conectar no oracle?

B

O meu arquivo context.xml:

<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="/Sis">
    <Resource auth="Container"
              driverClassName="oracle.jdbc.OracleDriver"
              maxActive="100"
              maxIdle="10"
              maxWait="-1"
              name="jdbc/SistemaJNDI"
              type="javax.sql.DataSource"
              url="jdbc:oracle:thin:@localhost:1521:ORCL"
              username="orcl"
              password="orcl"
              />
</Context>

E o meu persistence.xml:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
  <persistence-unit name="con" transaction-type="JTA">
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
    <jta-data-source>java:comp/env/jdbc/SistemaJNDI</jta-data-source>
    <exclude-unlisted-classes>false</exclude-unlisted-classes>
    <properties>
      <property name="eclipselink.session.customizer" value="br.com.sistema.conexao.JPAEclipseLinkSessionCustomizer"/>
      <property name="eclipselink.logging.level" value="OFF"/>
    </properties>
  </persistence-unit>
</persistence>
N

Pelo que entendi vc tem que usar o jar da versao exata do oracle… é melhor pegar o jar que vem com ele…

deve estar em ORACLE_HOME/lib

pq o resto parece estar ok

B

hmmmm.

Você me dizer o nome desse JAR?É o mesmo JAR que se baixa no site da oracle “ojdbc5.jar”?

N

vc instalou o oracle na sua maquina…
vai na pasta do oracle instalado e deve ter uma pasta chamada bin la dele ter uma penca de jar pega o ojdbc5.jar de la!

Criado 11 de abril de 2011
Ultima resposta 11 de abr. de 2011
Respostas 5
Participantes 2