DriverManager.getConnection()返回null,而不是连接对象

时间:2011-04-25 11:05:44

标签: java oracle jdbc

我正在尝试通过JDBC连接到Oracle数据库。使用以下代码:

Connection c = null;
try {
     Class.forName("oracle.jdbc.driver.OracleDriver");
     c = DriverManager.getConnection(connURL, userID, password);
 } catch (SQLException se) {
     System.out.println(se.getMessage());
 } catch (Exception e) {
     System.out.println(e.getMessage());
 }

由于某种原因,没有抛出异常,但c仍然为空 - 这是什么意思?

更新

原来我们得到了一个例外 - Class not found: "oracle.jdbc.driver.OracleDriver" - 我们在类路径之外有odbc类。

1 个答案:

答案 0 :(得分:1)

如果您以不同方式处理异常,这将更容易发现。只是打印异常消息并继续前进很少是正确的事情。数据库连接null时你能做什么?如果抛出指示连接不可用的异常,则尝试连接到数据库的任何例程都可以警告用户潜在的系统中断,记录错误并向系统管理员发送电子邮件(例如)。正如您所发现的那样,仅仅返回null就不那么明显了。