我必须创建一个非常简单的批处理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块并在控制台中打印以下错误消息:
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