java.sql.SQLException:IO 异常:网络适配器无法建立连接?

新手上路,请多包涵

您好我正在尝试在 eclipse kepler 上使用 ojdbc14 jar 连接 Oracle 11g 数据库,在 Windows 7 操作系统上使用 java 8。但是当我运行代码时,出现以下错误。这是我的和相应的错误。

 import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Scanner;

    public class JDBCExample {
      public static void main(String[] args) {
       Scanner sc = new Scanner(System.in);
       System.out.println("enter your databse details");
       System.out.println("user name");
       String uName = sc.next();
       System.out.println("password");
       String pWord = sc.next();
       try {
          Class.forName("oracle.jdbc.driver.OracleDriver");
       } catch (ClassNotFoundException e) {
        e.printStackTrace();
       }
       Connection conn = null;
       try {
        conn = DriverManager.getConnection(
                "jdbc:oracle:thin:@localhost:1521:orcl", "scott", "tiger");
        // jdbc:oracle:thin:@server:1521:xe
       } catch (SQLException e) {
        e.printStackTrace();
       }
       if (conn != null) {
        System.out.println("Successfully connected to DB");
        } else {
        System.out.println("Failed to connect to DB");
       }
   }
}

错误如下。 java.sql.SQLException: Io exception: The Network Adapter could not establish the connection at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:255) at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:387) at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:414) at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165) at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35) at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801) at java.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at JDBCExample.main(JDBCExample.java:23)

原文由 Naseer Ahammed 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 612
2 个回答

从我们的对话中,您可以从命令提示符处远程登录并连接到数据库。通过jdbcurl后,我发现了错误。

localhost:1521/xe 应该是 localhost:1521:xe 如果 xe 是你的数据库的 SID。

从更改此代码

conn = DriverManager.getConnection(
                "jdbc:oracle:thin:@localhost:1521/xe", "scott", "tiger");

conn = DriverManager.getConnection(
                "jdbc:oracle:thin:@localhost:1521:xe", "scott", "tiger");

看看这篇 文章

原文由 Ravindra babu 发布,翻译遵循 CC BY-SA 3.0 许可协议

从 services.msc 启动 oracle 监听器服务

原文由 Jason 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题