找不到Oracle jdbc驱动程序。

3

我是Java和数据库连接的新手,我正在尝试与Oracle数据库建立一个非常简单的连接。 当我运行这段代码时:

import java.sql.*;
import oracle.jdbc.pool.OracleDataSource;

public class Hello 
{
public String sayHtmlHello() 
{
    try {
        // Load the JDBC driver
        String driverName = "oracle.jdbc.driver.OracleDriver";
        Class.forName(driverName);

        // Create a connection to the database
        String serverName = "sever2";
        String portNumber = "1521";
        String sid = "serv1";
        String url = "jdbc:oracle:thin:@" + serverName + ":" + portNumber +":" + sid;
        String username = "user";
        String password = "pass";

        OracleDataSource ods = new OracleDataSource();
        ods.setUser(username);
        ods.setPassword(password);
        ods.setURL(url);
        Connection conn = ods.getConnection();

        System.out.println("Connection made?");
    } catch (ClassNotFoundException e) {
        // Could not find the database driver
        System.out.println("Can't find database driver");
    } catch (SQLException e) {
        // Could not connect to the database
        System.out.println("Can't connect to database");
    }

我得到了输出找不到数据库驱动程序。我正在使用Eclipse Helios,已将ojdbc6.jar添加到我的构建路径中(首先我检查了这个),并且我正在使用JDK 1.6。


1
你能在第一个catch块中使用e.printstacktrace()并粘贴完整的堆栈跟踪吗? - nsfyn55
或者更好的做法是根本不要捕获异常(将其重新抛出为throw new RuntimeException(e))。 - artbristol
@atbristol 技术上你必须捕获它才能重新抛出 :) - nsfyn55
1个回答

7

确保.jar文件也在运行路径上。在Eclipse中,转到Run --> Run Configurations --> 选择您的配置 --> classpath选项卡。如果您的jar文件不在“用户条目”中,请选择右侧的“添加Jar”。


那个运行得非常完美。非常感谢您的快速回复。一旦StackOverflow允许,我会立即接受这个答案。 - ikottman
我在Eclipse中无法理解你的解决方案,而且你并没有很清楚地说明实际要做什么。 - Dyin
如果您找不到“运行配置”选项卡,请确保已切换到“插件开发人员”透视图。 - Calon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接