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



我必须创建一个非常简单的批处理Java应用程序(一个运行到shell中的应用程序),并使用JDBCOracle数据库执行一些查询,但我从未这样做过。

我正在学习本教程: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块并在控制台中打印以下错误消息:

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

您需要在类路径中有一个合适的ojdbc.jar。例如,将Oracle JDBC ojdbc6 Jar作为Maven依赖

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

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

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

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

如果您正在按照给定链接中的说明进行操作。在第2.2章中,您将了解如何安装MySql驱动程序。如果您使用的是Oracle数据库,那么您需要安装Oracle JDBC驱动程序。

如果你不想像教程中那样影响JDK的安装,你可以加载驱动程序dynamicaly

相关内容

最新更新