Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Oracle JDBC连接中的套接字读取超时_Java_Oracle_Sockets_Jdbc_Nullpointerexception - Fatal编程技术网

Java Oracle JDBC连接中的套接字读取超时

Java Oracle JDBC连接中的套接字读取超时,java,oracle,sockets,jdbc,nullpointerexception,Java,Oracle,Sockets,Jdbc,Nullpointerexception,我正在使用Oracle DB 11g,并试图将其与Java应用程序连接起来。 我在EclipseIDE中尝试了这个Java代码。我在jre/lib/ext文件夹中安装了ojdbc6,并执行了这个程序。 已成功创建类DriverManager。但是我的代码挂起在conn=DriverManager.getConnection(url、user、pass)上语句。我打印了跟踪堆栈 import java.sql.*; public class OracleJDBC { public st

我正在使用Oracle DB 11g,并试图将其与Java应用程序连接起来。 我在EclipseIDE中尝试了这个Java代码。我在jre/lib/ext文件夹中安装了ojdbc6,并执行了这个程序。 已成功创建类DriverManager。但是我的代码挂起在
conn=DriverManager.getConnection(url、user、pass)上语句。我打印了跟踪堆栈

import java.sql.*;

public class OracleJDBC {

    public static void main(String[] args) {
        String url = "jdbc:oracle:thin:@localhost:1521:TestDB";
        String user = "kdhong";
        String pass = "kdhong";
        Connection conn = null;
        String sql = null;
        String query = null;
        int result;

        try {
            Class.forName("oracle.jdbc.driver.OracleDriver");
            System.out.println("success!");
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            System.err.println("error1 = " + e.getMessage());
            System.exit(1);
        }

        try {
            conn = DriverManager.getConnection(url, user, pass);
            System.out.println("success!");
        } catch (SQLException e) {
            e.printStackTrace();    
        }

        try {
            conn.setAutoCommit(false);
            Statement stmt = conn.createStatement();
            sql = "create table testtable(" +
            "id int)";
            result = stmt.executeUpdate(sql);
            if(result == 0)
                System.out.println("table created!!");
            conn.commit();
            conn.setAutoCommit(true);
            stmt.close();
            conn.close();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

}
java.sql.SQLException:套接字读取超时
位于oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:412)
位于oracle.jdbc.driver.PhysicalConnection.(PhysicalConnection.java:531)
位于oracle.jdbc.driver.T4CConnection(T4CConnection.java:221)
位于oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
位于oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:503)
位于java.sql.DriverManager.getConnection(DriverManager.java:664)
位于java.sql.DriverManager.getConnection(DriverManager.java:247)
位于OracleJDBC.main(OracleJDBC.java:24)
原因:oracle.net.ns.NetException:套接字读取超时
位于oracle.net.ns.Packet.receive(Packet.java:320)
位于oracle.net.ns.NSProtocol.connect(NSProtocol.java:286)
位于oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1042)
位于oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:301)
... 还有7个
线程“main”java.lang.NullPointerException中出现异常
位于OracleJDBC.main(OracleJDBC.java:31)
我已经签出OracleOraDb11g\u Home1TransListener服务正在服务中。那么,什么样的其他问题会导致这种连接问题呢

java.sql.SQLException: Socket read timed out
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:412)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:531)
at oracle.jdbc.driver.T4CConnection.<init>(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:664)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
at OracleJDBC.main(OracleJDBC.java:24)
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)
... 7 more
Exception in thread "main" java.lang.NullPointerException
at OracleJDBC.main(OracleJDBC.java:31)