Java Eclipse JDBC Oracle:DriverManager.getConnection卡滞
虽然我能够使用oracle SQLDeveloper连接和查询oracle数据库,但在测试java应用程序中却无法做到这一点: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
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)运行整个过程。同样的问题。。。