当我尝试为Oracle数据库创建Connection对象时,为什么会获得此SQLException(没有合适的驱动程序)?

时间:2015-02-11 09:39:14

标签: java oracle jdbc connection

我必须创建一个非常简单的批处理Java应用程序(运行到shell中的应用程序),并使用 JDBC Oracle 数据库上执行一些查询,我从未完成它

我正在关注本教程:http://www.ntu.edu.sg/home/ehchua/programming/java/JDBC_Basic.html

所以我以这种方式为我的应用程序分配了一个新的 Connection 对象:

import java.sql.*;

public class Main {

    public static void main(String[] args) {
        System.out.println("Hello World !!!");

        String partitaIVA = args[0];
        String nomePDF = args[1];

        Connection conn = null;
        Statement  stmt = null;

        try {
            // Step 1: Allocate a database "Connection" object
            conn = DriverManager.getConnection("jdbc:oracle:thin:@XXX.XXX.XXX.XXX:1521:eme1", "myUserName", "myPswd"); // Oracle DB

        } catch(SQLException ex) {
            ex.printStackTrace();
        }
    }
}

问题在于,当我运行应用程序时,似乎抛出了 SQLException ,因为进入 catch 块并在控制台中打印以下错误消息: / p>

java.sql.SQLException: No suitable driver found for jdbc:oracle:thin:@XXX.XXX.XXX.XXX:1521:eme1
    at java.sql.DriverManager.getConnection(DriverManager.java:602)
    at java.sql.DriverManager.getConnection(DriverManager.java:185)
    at Main.main(Main.java:16)

为什么呢?导致此问题的原因是什么?如何解决此问题?我错过了什么?

TNX

3 个答案:

答案 0 :(得分:1)

您需要在类路径中拥有适当的ojdbc.jar。例如。见Oracle JDBC ojdbc6 Jar as a Maven Dependency

问题应该是链接教程描述了如何连接到Mysql,但是你正在尝试连接到oracle - 因此你需要在类路径中使用oracle驱动程序。

答案 1 :(得分:1)

如何关注oracle的驱动程序文档。 http://docs.oracle.com/cd/E11882_01/appdev.112/e13995/oracle/jdbc/OracleDriver.html

在上面的代码中,您没有注册驱动程序类。

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

答案 2 :(得分:0)

如果您遵循指定链接的说明。 在第2.2章中,您将了解如何安装MySql驱动程序。 如果您使用的是Oracle数据库,那么您需要安装Oracle JDBC drivers

如果您不想像教程那样影响JDK安装,可以load driver dynamicaly