2015-03-01 3 views
0

J'essaie de me connecter à la base de données Oracle 12c en utilisant java dans eclipse. C'est l'exception qui continue de se faire attraper.Impossible de se connecter à la base de données Oracle

Exception in thread "main" java.sql.SQLRecoverableException: IO Error: The Network Adapter could not establish the connection 
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:743) 
    at oracle.jdbc.driver.PhysicalConnection.connect(PhysicalConnection.java:666) 
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32) 
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:566) 
    at java.sql.DriverManager.getConnection(Unknown Source) 
    at java.sql.DriverManager.getConnection(Unknown Source) 
    at DBHelper.makeConnection(DBHelper.java:31) 
    at Main.main(Main.java:37) 
Caused by: oracle.net.ns.NetException: The Network Adapter could not establish the connection 
    at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:470) 
    at oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:506) 
    at oracle.net.ns.NSProtocol.establishConnection(NSProtocol.java:595) 
    at oracle.net.ns.NSProtocolStream.negotiateConnection(NSProtocolStream.java:246) 
    at oracle.net.ns.NSProtocol.connect(NSProtocol.java:264) 
    at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1452) 
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:496) 
    ... 7 more 
Caused by: java.net.ConnectException: Connection refused: connect 
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method) 
    at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source) 
    at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source) 
    at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source) 
    at java.net.AbstractPlainSocketImpl.connect(Unknown Source) 
    at java.net.PlainSocketImpl.connect(Unknown Source) 
    at java.net.SocksSocketImpl.connect(Unknown Source) 
    at java.net.Socket.connect(Unknown Source) 
    at oracle.net.nt.TcpNTAdapter.connect(TcpNTAdapter.java:161) 
    at oracle.net.nt.ConnOption.connect(ConnOption.java:159) 
    at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:428) 
    ... 13 more 

Voici ce que je l'ai fait

main.java

import java.sql.Connection; 

import java.sql.ResultSet; 
import java.sql.SQLException; 


public class Main { 

    public static void main(String[] arg) throws SQLException{ 

     DBHelper dbconn = new DBHelper("system", "reborn78"); 
     Connection conn = dbconn.makeConnection(); 


     ResultSet result = dbconn.runQuery(conn, "SELECT A,B FROM NEWS"); 

     System.out.println(result); 
    } 
} 

DBHelper.java

import java.sql.Connection; 
import java.sql.Driver; 
import java.sql.DriverManager; 
import java.sql.PreparedStatement; 
import java.sql.ResultSet; 
import java.sql.SQLException; 
import java.sql.Statement; 
import java.util.Properties; 


public class DBHelper { 

    private String userName; 
    private String passWord; 
    private final String url = "jdbc:oracle:thin:@localhost:1521/ORCL"; 

    public DBHelper(String userName, String passWord) throws SQLException{ 
     Driver myDriver = new oracle.jdbc.driver.OracleDriver(); 
     DriverManager.registerDriver(myDriver); 
     this.userName = userName; 
     this.passWord = passWord;  
    } 


    public Connection makeConnection() throws SQLException{ 
      Properties props = new Properties(); 
      props.setProperty("user", this.userName); 
      props.setProperty("password", this.passWord); 


      return DriverManager.getConnection(this.url,props); 




    } 

    public ResultSet runQuery(Connection conn, String sqlQuery) throws SQLException{ 
     PreparedStatement preStatement;  
     ResultSet result; 

      Statement statement = conn.createStatement(); 
      preStatement = conn.prepareStatement(sqlQuery); 
      statement.execute(sqlQuery); 
      result = preStatement.executeQuery(); 
      return result; 


    } 
} 

ci-dessous est mon fichier listener.ora

# listener.ora Network Configuration File: E:\app\Usama\product\12.1.0\dbhome_1\NETWORK\ADMIN\listener.ora 
# Generated by Oracle configuration tools. 

SID_LIST_LISTENER = 
    (SID_LIST = 
    (SID_DESC = 
     (SID_NAME = CLRExtProc) 
     (ORACLE_HOME = E:\app\Usama\product\12.1.0\dbhome_1) 
     (PROGRAM = extproc) 
     (ENVS = "EXTPROC_DLLS=ONLY:E:\app\Usama\product\12.1.0\dbhome_1\bin\oraclr12.dll") 
    ) 
) 

LISTENER = 
    (DESCRIPTION_LIST = 
    (DESCRIPTION = 
     (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) 
     (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) 
    ) 
) 

ci-dessous est mon fichier tnsnames.ora

# tnsnames.ora Network Configuration File: E:\app\Usama\product\12.1.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora 
# Generated by Oracle configuration tools. 

LISTENER_ORCL = 
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) 


ORACLR_CONNECTION_DATA = 
    (DESCRIPTION = 
    (ADDRESS_LIST = 
     (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) 
    ) 
    (CONNECT_DATA = 
     (SID = CLRExtProc) 
     (PRESENTATION = RO) 
    ) 
) 

ORCL = 
    (DESCRIPTION = 
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) 
    (CONNECT_DATA = 
     (SERVER = DEDICATED) 
     (SERVICE_NAME = orcl) 
    ) 
) 

SQL est connecté à l'aide sqlplus et l'auditeur en cours d'exécution et connecté au développeur sql aussi bien! est en dessous du lien vers des images https://www.dropbox.com/sh/vbv0gkfcz2g59t5/AACtIVR1-bIen99DNN4HDsWaa?dl=0

J'ai perdu trois jours à obtenir ce droit, j'ai pu obtenir de travailler hier, mais aujourd'hui quand je remis en marche mon système, la même erreur est de retour. J'ai tout essayé mais rien ne semble fonctionner aujourd'hui. Merci d'avance

+0

Votre serveur Oracle est-il exécuté localement? Est-ce que ça marche? – GolezTrol

+0

Oui, avez-vous vérifié les photos ci-jointes? –

+0

https://www.dropbox.com/s/2i5xp87vam97779/sql%20developer%20running%20and%20connected.jpg?dl=0 Veuillez vérifier cela, je suis sûr qu'il fonctionne –

Répondre

1

RÉSOLU.

J'ai réussi à l'exécuter en reconfigurant la base de données à l'aide de l'assistant de configuration de la base de données, puis en configurant les services réseau par l'assistant de configuration réseau. Il se trouve que, comme je le comprends, c'est le seul moyen de démarrer les services nécessaires pour se connecter via un écouteur. Je dois le faire manuellement et tester la connexion réseau dans l'assistant de configuration net chaque fois que je redémarre le système.

Nous vous remercions de votre soutien.

+1

Pouvez-vous élaborer sur le problème et sa solution? Cela peut être utile pour les futurs visiteurs qui ont le même problème. – GolezTrol

+0

J'ai pu le faire fonctionner en reconfigurant la base de données en utilisant l'assistant de configuration de base de données puis en configurant les services réseau par l'assistant de configuration net.Il s'avère que, si je comprends bien, c'est le seul moyen de démarrer les services nécessaires pour se connecter via un auditeur. Je dois le faire manuellement et tester la connexion réseau dans l'assistant de configuration net chaque fois que je redémarre le système. –