Olá galera, conforme meu status eu sou novo aqui no fórum e relativamente novo em desenv de aplicações Java. Noentanto acredito ter uma questão meio que “cabalística” para os srs. Já li muitos tópicos inclusive em outros fórums com questões parecidas com esta mas nenhuma com sintomas e consequentemente com a mesma solução.
Aí vai:
Desenvolvi uma aplicação java que faz as operações básicas CRUD a um banco de dados Oracle 10g Xe. O problema é que quando eu executo a aplicação, esta despois de aproximadamente 25 ou 30 min me retorna o seguinte erro em caixa de texto de aviso: Exceção de E/S: The Network Adapter could not establish the connection. Todas as estações onde a aplicação deveria rodar possuem o S.O. Windows XP Service pack3 (ainda rs).
O SGBD está rodando em outra máquina dentro de uma LAN. O driver usado para a conexão é o ojdbc14.jar.
Até aí td bem. De acordo com outros tópicos seria na maioria dos casos problema de rede ou sintaxe de conexão errada porém:
1 - Posso assegurar que não é problema de rede. Na mesma máquina com um perfil diferente eu consigo rodá-la sem problemas. Aliás, ela funcionou bem durante um bom tempo no perfil de um usuário q hj apresenta problemas ao executá-la.
2 - Não é problema de sintaxe de conexão, vide o item “1” e o fato de eu já ter usado estas duas sintaxes de url para o DriverManager : a)“jdbc:oracle:thin:@//20.1.0.200:1521/XE” b)“jdbc:oracle:thin:20.1.0.200:1521:xe”.
3 - Como dito no item 1, se eu rodar a mesma aplicação clicando em cima do executável (utilizei o JSmooth para criá-lo) e mandando executar como um outro usuário qualquer ela roda sem problemas.
4 - Isso acontece em qualquer máquina dentro da rede apenas com o(s) mesmo(s) usuário(s) (Domínio AD Microsoft Win2008 Server - A aplicação faz autenticação pelo LDAP através de uma classe criada).
Abaixo segue a classe de conexão e um StackTrace para “apreciação”.
Agradeço desde já a atenção dos srs…
- Classe de Conexão:
package controle_equipamentos;
import java.sql.DriverManager;
import java.sql.SQLException;
/**
*
-
@author fc62978 */ public class ConectaBD { //private static final String url = “jdbc:oracle:thin:@20.1.0.200:1521:xe”; private static final String url = “jdbc:oracle:thin:@<a href="//20.1.0.200:1521/XE">//20.1.0.200:1521/XE</a>”; private static java.sql.Connection connection;
public static java.sql.Connection getConnection() throws Exception{
try{ DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); //Class.forName("oracle.jdbc.driver.OracleDriver"); if (connection == null){ connection = DriverManager.getConnection(url, "info_drn", "podbot"); } else if (connection.isClosed()){ connection = DriverManager.getConnection(url, "info_drn", "podbot"); }
return connection; }catch (Exception e){ e.printStackTrace(); System.out.println(e.getMessage()); System.out.println(e.getCause()); System.out.println(e.getClass()); System.out.println(e.getStackTrace()); throw new SQLException(e.getMessage()); } } }
- StackTrace:
java.sql.SQLException: Exceção de E/S: The Network Adapter could not establish the connection
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:124)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:161)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:273)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:327)
at oracle.jdbc.driver.PhysicalConnection.(PhysicalConnection.java:360)
at oracle.jdbc.driver.T4CConnection.(T4CConnection.java:150)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:31)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:595)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at controle_equipamentos.ConectaBD.getConnection(ConectaBD.java:26)
at controle_equipamentos.Consultas.ConsultaAdmins(Consultas.java:167)
at controle_equipamentos.Autenticar.Validar(Autenticar.java:59)
at controle_equipamentos.Controle_equipamentosView.(Controle_equipamentosView.java:46)
at controle_equipamentos.Controle_equipamentosApp.startup(Controle_equipamentosApp.java:19)
at org.jdesktop.application.Application$1.run(Application.java:171)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
Exceção de E/S: The Network Adapter could not establish the connection
null
class java.sql.SQLException
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
[Ljava.lang.StackTraceElement;@1ea0252
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
java.sql.SQLException: Exceção de E/S: The Network Adapter could not establish the connection
at controle_equipamentos.ConectaBD.getConnection(ConectaBD.java:38)
at controle_equipamentos.Consultas.ConsultaAdmins(Consultas.java:167)
at controle_equipamentos.Autenticar.Validar(Autenticar.java:59)
at controle_equipamentos.Controle_equipamentosView.(Controle_equipamentosView.java:46)
at controle_equipamentos.Controle_equipamentosApp.startup(Controle_equipamentosApp.java:19)
at org.jdesktop.application.Application$1.run(Application.java:171)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Não autenticado :java.lang.NullPointerException
EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Qualquer informação que possa estar faltando escrever q eu passo.
Agradeço + uma vez desde já!
