Estou com problemas quanto à conexão com o Oracle. Estou utilizando uma classe que já havia utilizando antes e que estava funcionando bem. Só alterei o url, usuário e senha. Veja código abaixo…:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
/**
*
* @author Leandro
*/
public class Conexao implements java.io.Serializable {
private Connection con = null;
//private Conection con = null;
private Statement stm = null;
private ResultSet rs = null;
private String hostName = null;
private String userName = null;
private String password = null;
private String url = null;
private String jdbcDriver = null;
private String dataBaseName = null;
private String dataBasePrefix = null;
private String dabaBasePort = null;
/** Cria uma nova instância de conexão */
public Conexao() {
super();
hostName = "172.24.10.254";//sitmat:"172.24.10.254";//gerop:"172.23.26.240"; //"sitmat01"; - nome do host.
dataBaseName = "sitmat01";
// Oracle
userName = "labrel"; //Nome de usuario
password = "labrel"; // Senha
jdbcDriver = "oracle.jdbc.driver.OracleDriver"; //dentro do arquivo jar (jar file) tem uma pasta oracle/jdbc/driver e o driver utilizado Oracle Driver.
dataBasePrefix = "jdbc:oracle:thin:@"; //
dabaBasePort = "1521";
url = dataBasePrefix + hostName + ":" + dabaBasePort + ":" + dataBaseName;
//a url acima deve ficar assim: url = oracle:thin:@171.14.10.154:1521:sitmat01;
System.out.println("URL - "+url);
getConnection();
}
//Conexao Pública -> getConnection() {
public void getConnection() {
try {
if (con == null) {
Class.forName(jdbcDriver);
con = DriverManager.getConnection(url, userName, password);
System.out.println("Conexao Efetuada!!!");
} else if (con.isClosed()) {
System.out.println("Conexao esta fechada");
Class.forName(jdbcDriver);
con = DriverManager.getConnection(url, userName, password);
}
} catch (ClassNotFoundException e) {
//TODO: use um sistema de log apropriado.
e.printStackTrace();
} catch (SQLException e) {
//TODO: use um sistema de log apropriado.
e.printStackTrace();
}
}
/**
* Fecha a conexão com BD.
*/
public void closeConnection() {
if (con != null) {
try {
con.close();
} catch (SQLException e) {
//TODO: use um sistema de log apropriado.
e.printStackTrace();
}
}
}
public ResultSet consultar(String query)
{
getConnection();
ResultSet rs = null;
try {
Class.forName(jdbcDriver);
// create a statement object which creates a Scrollable resultset.
Statement stm = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs = stm.executeQuery(query);
return rs;
}
catch (SQLException e)
{
JOptionPane.showMessageDialog(null, " Erro na execução do metodo consultar! \n" + e.getMessage());
return null;
}
catch(ClassNotFoundException e) {
JOptionPane.showMessageDialog(null, "excessao - Classe Nao Encontrada: "+e.getMessage());
e.printStackTrace();
return null;
}
finally {
}
}
public void executarSQL(String sql){
getConnection();
try {
Class.forName(jdbcDriver);
Statement stm = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
stm.executeUpdate(sql);
} catch(ClassNotFoundException e) {
JOptionPane.showMessageDialog(null, "excessão Classe não encontrada: "+e.getMessage());
e.printStackTrace();
} catch(SQLException e) {
JOptionPane.showMessageDialog(null, "Erro na execução do método executarSQL() - "+e.getMessage());
e.printStackTrace();
} finally {
}
}
}
Quando vou conectar ao banco de dados após um longo tempo de espera, me é retornado a seguinte mensagem de erro:
[quote]java.sql.SQLException: Exceção de E/S: The Network Adapter could not establish the connection
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:334)
at oracle.jdbc.ttc7.TTC7Protocol.handleIOException(TTC7Protocol.java:3695)
at oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java:352)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:362)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:536)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:328)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at consultalabtec.db.Conexao.getConnection(Conexao.java:61)
at consultalabtec.db.Conexao.<init>(Conexao.java:52)
at consultalabtec.bean.GerenciaConsulta.listaEquipamentos(GerenciaConsulta.java:50)
at consultalabtec.view.formConsultaTrocaPecas.formInternalFrameOpened(formConsultaTrocaPecas.java:179)
at consultalabtec.view.formConsultaTrocaPecas.access$000(formConsultaTrocaPecas.java:16)
at consultalabtec.view.formConsultaTrocaPecas$1.internalFrameOpened(formConsultaTrocaPecas.java:60)
at javax.swing.JInternalFrame.fireInternalFrameEvent(JInternalFrame.java:1552)
at javax.swing.JInternalFrame.show(JInternalFrame.java:1728)
at java.awt.Component.show(Component.java:1419)
at java.awt.Component.setVisible(Component.java:1372)
at javax.swing.JComponent.setVisible(JComponent.java:2610)
at consultalabtec.ConsultaLabtecView.abreFormularioConsultaTrocaPecas(ConsultaLabtecView.java:206)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jdesktop.application.ApplicationAction.noProxyActionPerformed(ApplicationAction.java:662)
at org.jdesktop.application.ApplicationAction.actionPerformed(ApplicationAction.java:698)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.AbstractButton.doClick(AbstractButton.java:357)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1216)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1257)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
at java.awt.Component.processMouseEvent(Component.java:6038)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
at java.awt.Component.processEvent(Component.java:5803)
at java.awt.Container.processEvent(Container.java:2058)
at java.awt.Component.dispatchEventImpl(Component.java:4410)
at java.awt.Container.dispatchEventImpl(Container.java:2116)
at java.awt.Component.dispatchEvent(Component.java:4240)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
at java.awt.Container.dispatchEventImpl(Container.java:2102)
at java.awt.Window.dispatchEventImpl(Window.java:2429)
at java.awt.Component.dispatchEvent(Component.java:4240)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
[/quote]
Alguém pode me ajudar?
Abraços e FELIZ ANO NOVO a todos.