ORACLE DB连接中的问题

时间:2013-10-16 15:22:51

标签: java database eclipse oracle driver

请帮帮我!我看过其他主题,但我还没有找到解决方案。 我必须使用eclipse在JAVA中执行DBconnection类。 这是我的代码

public static void main(String[] argv) { 
    try {

        Class.forName("oracle.jdbc.driver.OracleDriver");

    } catch (ClassNotFoundException e) {
        e.printStackTrace();
        return;
    }

    Connection connection = null;
    try {

        connection = DriverManager.getConnection(
                "jdbc:oracle:thin:@localhost:1521:XE", "username",
                "password");
    } catch (SQLException e) {
        e.printStackTrace();
        return;
    }

如果我运行则返回错误:

java.lang.ClassNot FoundException:oracle.jdbc.driver.OracleDriver

我知道这是一个常见的错误,但我无法找到解决方案。 在项目中,我为驱动程序导入了jar文件ojdbc6.jar。我不明白为什么它不起作用。

3 个答案:

答案 0 :(得分:0)

您在类路径中缺少ojdbc6.jar

您可以添加到类路径中,如下所示

您可以从{ORACLE DRIVER INSTALL PATH}\jdbc\lib\ojdbc6.jar

获取jar

然后,

Go to Project properties (Project -> Properties) -> Java Build Path -> 
Libraries -> Add external JARs -> 
select ojdbc6.jar from your filesystem 

顾名思义,ClassNotFoundException在Java中是java.lang.Exception的子类,当 Java虚拟机尝试加载特定类并且未找到时类路径中请求的类。

关于此异常的另一个重点是,它是一个已检查的异常,并且您需要在使用可能通过使用try在Java中抛出ClassNotFoundException的方法时提供显式异常处理-catch块或使用throws子句。

Oracle docs

public class ClassNotFoundException
 extends ReflectiveOperationException

当应用程序尝试使用以下命令通过其字符串名称加载类时抛出:

  • 类Class。中的forName方法。
  • ClassLoader类中的findSystemClass方法。
  • ClassLoader类中的loadClass方法。

但是找不到具有指定名称的类的定义。

链接

答案 1 :(得分:0)

将oracle驱动程序(.jar)文件添加到类路径中。

请参阅以下链接以获取驱动程序下载。 http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html

答案 2 :(得分:0)

您可能已将JDBC驱动程序JAR添加到构建路径,但未添加到运行时类路径。这就是为什么在运行您的应用程序时无法找到类。您需要编辑应用程序的启动配置,并确保JDBC驱动程序JAR包含在其类路径中。

以下是打开对话框以编辑启动(运行或调试)配置的方法: Screen shot