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

Java 为什么在尝试为Oracle数据库创建连接对象时获得此SQLException(没有合适的驱动程序)?,java,oracle,jdbc,connection,Java,Oracle,Jdbc,Connection,我必须创建一个非常简单的批处理Java应用程序(一个运行在shell中的应用程序),并使用JDBC在Oracle数据库上执行一些查询,但我从来没有这样做过 我将学习本教程: 因此,我以这种方式为我的应用程序分配了一个新的连接对象: import java.sql.*; public class Main { public static void main(String[] args) { System.out.println("Hello World !!!");

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

我将学习本教程:

因此,我以这种方式为我的应用程序分配了一个新的连接对象:

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。例如,见


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

如何遵循oracle的驱动程序文档

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

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

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


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

好,但我现在不使用Maven,我在哪里可以下载这个jar?谷歌“site:oracle.com ojdbc download”并选择合适的版本(取决于您要连接到的oracle版本:10或11G,…)提供的链接看起来有些不一致,看看教程的最后一节,它说,第一步是注册驱动程序(这是首选步骤),而提供的示例没有注册任何驱动程序,它直接请求连接!!