oracle 11g-【求助】java使用jdbc连接Oracle 11g ex版本数据库时的问题

问题描述

【求助】java使用jdbc连接Oracle 11g ex版本数据库时的问题

我下载Oracle数据库连接驱动类与SqlConnectText.java在同一目录下,是ojdbc6.jar
数据库版本是Oracle11g Express版本,SID是xe
JDK是1.6版本的
然后端口1521正在被监听
这是Java类代码

 import java.sql.*;
public class SqlConnectTest {
    private static String dbUrl = "jdbc:oracle:thin:@127.0.0.1:1521:xe";
    private static String theUser = "root";
    private static String thePw = "root";  

    public static void main(String[] args) {
       ResultSet rs = null;
       Connection conn = null;
       Statement stat = null;

       try {
           Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
           DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
           conn = DriverManager.getConnection(dbUrl, theUser, thePw);
           stat = conn.createStatement();  

           rs = stat.executeQuery("select * from AdminUser");
           while (rs.next()) {
              System.out.println(rs.getString("username")+"--"+rs.getString("password"));
           }
       } catch (Exception e) {
           e.printStackTrace();
       } finally {
          if(rs != null) {
            try { rs.close(); } catch(Exception e) {}
          }
          if(stat != null) {
            try { stat.close(); } catch(Exception e) {}
          }
          if(conn != null) {
            try { conn.close(); } catch(Exception e) {}
          }
       }
    }
}  

这是异常信息
D:Foraclesql>javac SqlConnectTest.java -Djava.ext.dirs=./

D:Foraclesql>java -Djava.ext.dirs=./ SqlConnectTest
java.sql.SQLException: Socket read timed out
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:412)
at oracle.jdbc.driver.PhysicalConnection.(PhysicalConnection.java:531)
at oracle.jdbc.driver.T4CConnection.(T4CConnection.java:221)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:503)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at SqlConnectTest.main(SqlConnectTest.java:36)
Caused by: oracle.net.ns.NetException: Socket read timed out
at oracle.net.ns.Packet.receive(Packet.java:320)
at oracle.net.ns.NSProtocol.connect(NSProtocol.java:286)
at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1042)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:301)

实在是不知道出什么问题了,求大家帮忙解答

解决方案

java.sql.SQLException: Socket read timed out
说明连接超时,检查下防火墙、网络、Oracle服务器是否正常运行、用户名、密码。

解决方案二:

连接超时,如果想连接自己电脑的Oracle,把127.0.0.1改成localhost,要是服务器的话,检查下防火墙,网络的配置,要是别人的主机的话,那台主机有可能没开机^_^

解决方案三:

你的数据库是不是网络客户端没有配置,就是oracle的网络适配器? 你可以在其他电脑上 用sqldeveloper 工具连一下,如果连不上 那就是oracle的网络客户端没有配置

解决方案四:

Socket read timed out连接超时。
看看你的防火墙、网络、Oracle服务器是否正常运行。oracle的网络适配器是否支持127.0.0.1连接。

解决方案五:

谢谢各位,问题已经解决了,我用myeclipse运行成功了,前面是直接用命令行运行的。(还是不清除那儿错了,但是代码的对的,包也是对了)

时间: 2024-09-13 23:26:04

oracle 11g-【求助】java使用jdbc连接Oracle 11g ex版本数据库时的问题的相关文章

java基于JDBC连接Oracle 11g Release2实例分析

  本文实例讲述了java基于JDBC连接Oracle 11g Release2的方法.分享给大家供大家参考.具体如下: Oracle 11g Release 2 的 JDBC 连接似乎有所不同 ,如果你收到下面的异常: Listener refused the connection with the following error:ORA-12505, TNS:listener does not currently know of SID given in connect descriptor

JDBC连接Oracle数据库出现Io 异常

环境:Oracle11g + MyEclipse 6.5 + JDK1.6 问题:JDBC连接Oracle数据库出现以下错误: java.sql.SQLRecoverableException: Io 异常: The Network Adapter could not establish the connection at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:101) at oracle.

java基于odbc连接oracle的实现方法_java

本文实例讲述了java基于odbc连接oracle的实现方法.分享给大家供大家参考,具体如下: 1.加载 oracle驱动 oracle.jdbc.driver.OracleDriver 2.建立到给定数据库 URL 的连接 jdbc:oracle:thin:@localhost:1521:orcl 3.默认的用户名是system,密码是自己设定的,不能用sys或者是sysdba,这个只是角色. public void testOracle() { try { Class.forName("or

java用odbc连接oracle的一个问题

问题描述 java用odbc连接oracle的一个问题 package 数据库基本操作01; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; //演示:如何使用jdbc_odbc桥连接方式: public class TextOra { public static void main(String[] args) { t

Java 通过JDBC连接Mysql数据库_java

JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成.JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序. 如果要使用数据库就要添加数据库的驱动,不同的数据库有不用的驱动,这里就不一一说明,添加jar程序驱动包的方法就不在这里解释, 另一个文章里面有介绍http://www.jb51.net/artic

Java通过JDBC连接SQLServer 2008出现的问题

环境:SQLServer 2008 R2 + MyEclipse 6.5 + JDK 1.6.24 问题:Java通过JDBC连接SQLServer 2008,出现如下问题:java.sql.SQLException: No suitable driver found forjdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=QQ. 解决:检查连接数据库时写的 代码是否有问题. 代码如下: package com.qq.client.db

解决Jdbc连接oracle 12c(12.1.0.1)时快时慢的问题

某个朋友公司的客户,友情帮忙分析的.客户使用的是oracle 12c(12.1.0.1),应用通过jdbc访问发现时快时慢.但是通过sqlplus访问发现一切正常. 开始以为是防火墙问题,检查发现防火墙什么的都是禁用掉了,甚至我还修改了selinux=disable,发现问题依旧. 由于之前处理过几个类似的case,都是jdbc版本的问题,因此开始我让他们换几个jdbc版本测试下,发现问题依旧.类似如下结果: [oracle@12c_single ~]$ /oracle/product/12.1

实践真知:解决 Jdbc 连接 Oracle 12c 时快时慢的问题

李真旭@killdb Oracle ACE,云和恩墨技术专家 个人博客:www.killdb.com 编辑手记:认识 JDBC 连接在不同版本间的差异,准确找出导致连接不稳定的真凶 我们通过一个实例来认识连接的问题 . 问题描述 客户使用的是 oracle 12c(12.1.0.1),应用通过jdbc访问发现时快时慢.但是通过 sqlplus 访问发现一切正常.开始以为是防火墙问题,检查发现防火墙什么的都是禁用掉了,甚至我还修改了 selinux=disable,发现问题依旧.由于之前处理过几个

JDBC连接Oracle数据库常见问题及解决方法

oracle|解决|数据|数据库|问题 Jbuilder正确连接 oracle 9i需要注意的几个问题 oracle8以上的应该都使用classes12.jar文件作为jdbc驱动: 正确设置windows的classpath和jbuilder中的enterprise setup .configure libraries,将casses12.jar路径正确添加到上述需要设置的地方: 进入database pilot,在database pilot中,file---new 在driver列表中如果