Java Eclipse JDBC Oracle:DriverManager.getConnection卡住了

时间:2014-07-28 10:31:35

标签: 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 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();
            }
        }
    }   
}

一些系统细节:

操作系统:Mac OS X 10.9.4
Java版本:1.7
Eclipse :开普勒(64位)
Oracle客户端:instantclient_10_2

在一些不成功的试验之后,我决定复制SQLDeveloper使用的完全相同的JDBC驱动程序(使用show package content)。我已将它复制到我的项目文件夹/ lib下。然后我将jar添加到构建路径中。

当我在我的Mac上运行应用程序时,它在打印“在DriverManager之前......”之后仍然卡住了

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

我真的没有选择,我开始认为我的机器java权限存在一些问题。可能吗?知道我应该找哪个地方吗?

感谢任何帮助。

此致 斯特凡诺

0 个答案:

没有答案