繁体   English   中英

通过 eclipse 连接到 oracle 时出现 java 错误

[英]java error while connecting to oracle through eclipse

我一直在尝试使用 eclipse 连接到我的 oracle 数据库,但我不断收到此错误:

java.sql.SQLRecoverableException: Erreur d'E/S: The Network Adapter could not establish the connection

我尝试了很多代码,但任何一个主题似乎都可以工作,我还检查了 listener.ora 文件和 tnsnames.ora,但信息(端口号、SID)是正确的。 这是我的代码:

         package application;
         import java.sql.*;
         public class monInterface {


public static void main(String[] args)  {
    
    try {
        Class.forName("oracle.jdbc.driver.OracleDriver");
        Connection con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ORCLSYS","system","TPBDD");

        Statement st=con.createStatement();
        String sql="select * from film";
        ResultSet rs=st.executeQuery(sql);

        while(rs.next())
            System.out.println(rs.getInt(1)+" "+rs.getString(2));
        rs.close();
            } 

    catch (Exception e) {
        System.out.println(e);
        
    }}}

和 listener.ora:

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = C:\App\db_home)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:C:\App\db_home\bin\oraclr19.dll")
    )
  )

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

和 tnsnames.ora:

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

我正在使用 oracle 10g 和 java se 8

所以请如果有人可以帮我解决这个问题。

好像您正在连接到不正确的 SID。 代码中提到的 SID 是ORCLSYS ,侦听器文件中的 SID 是CLRExtProc 尝试如下进行驱动程序连接,我认为它必须工作。

Connection con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:CLRExtProc","system","TPBDD");

此外,如果您打算使用Thin Driver 并且您的 SID 和服务名称相同,那么以下格式也必须有所帮助。

Connection con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521/CLRExtProc","system","TPBDD");

我知道已经很晚了,但我确实通过使用 ojdbc7 而不是 ojdbc6 解决了我的问题,谢谢大家的回答

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM