Java Eclipse JDBC Oracle:DriverManager.getConnection卡滞

Java Eclipse JDBC Oracle:DriverManager.getConnection卡滞,java,eclipse,macos,oracle,jdbc,Java,Eclipse,Macos,Oracle,Jdbc,虽然我能够使用oracle SQLDeveloper连接和查询oracle数据库,但在测试java应用程序中却无法做到这一点: import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class Test { public static vo

虽然我能够使用oracle SQLDeveloper连接和查询oracle数据库,但在测试java应用程序中却无法做到这一点:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;


public class Test {

    public static void main(String[] args) {
        Connection con = null;
        Statement stmt = null;
        ResultSet rs = null;
        try {
            //Class.forName("oracle.jdbc.driver.OracleDriver");

            String url = "jdbc:oracle:thin:@myhost:1521/mysid"; //SID
            //String url = "jdbc:oracle:thin:@myhost:1521:myservice"; //service
            String usr = "myuser";
            String pwd = "mypassword";

            System.out.print("Before DriverManager...");

            con = DriverManager.getConnection(url, usr, pwd);
            if (con == null)
            {
                System.out.print("Connection is null");
            }
            else
            {
                System.out.print("Connection OK");
                stmt = con.createStatement();
                rs = stmt.executeQuery("SELECT count(*) FROM mytable");
                while(rs.next()) {
                    System.out.print(rs.getInt(1));
                    //System.out.println(rs.getString(2));
                }
            }

        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            try {
                rs.close();
                stmt.close();
                con.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }   
}
一些系统详细信息:

OS:Mac OS X 10.9.4
Java版本:1.7
日食:开普勒(64位)
Oracle客户端:instantclient\u 10\u 2

在一些失败的尝试之后,我决定复制SQLDeveloper使用的完全相同的JDBC驱动程序(使用ShowPackageContent)。我已将其复制到我的项目文件夹/lib下。然后我将jar添加到构建路径中

当我在mac上运行应用程序时,它只是在打印“在DriverManager之前…”后仍然卡住

如果我在同事的windows机器上运行相同的应用程序,它可以正常工作并打印计数结果

我真的没有选择了,我开始觉得我的机器java权限有问题。可能吗?知道我该去哪里找吗

感谢您的帮助

问候
Stefano

是否会引发异常?另外,取消注释您的
//Class.forName(“oracle.jdbc.driver.OracleDriver”)LoCNo,它不会引发任何异常。上面的行不会更改应用程序的行为。不管有没有它,它都可以在我同事的机器上正常运行,而挂在我的机器上。我已经在mac上的Vmware windows 7(虚拟机)上测试了相同的代码。它是有效的。到目前为止,我只能在我的mac上运行它…这可能有各种原因。您确定可以在Mac上ping数据库计算机而不会出现任何操作系统问题吗?在Mac上(没有vm),我可以ping数据库而不会出现任何问题。这是有道理的,因为我已经能够连接SQLDeveloper了。我现在尝试在mac上用新的eclipse安装(LUNA)运行整个过程。同样的问题。。。