我正在尝试将Java中的值提取到Oracle中的表中,但是遇到以下问题:
错误:
> at java.lang.ClassLoader.loadClass(Unknown Source) at
> sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at
> java.lang.ClassLoader.loadClass(Unknown Source) at
> java.lang.Class.forName0(Native Method) at
> java.lang.Class.forName(Unknown Source) at
> com.example.example1.query.demo.QueryDataNoPayload.lambda$1(QueryDataNoPayload.java:168)
> at java.lang.Iterable.forEach(Unknown Source) at
> com.example.example1.query.demo.QueryDataNoPayload.main(QueryDataNoPayload.java:94)
> java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver at
> java.net.URLClassLoader.findClass(Unknown Source)
我正在使用的代码如下
result.forEach(record ->
{
String xml = record.getPayload().get();
Summary summary = SUMMARIZER.summarize(xml);
String a1 = (String) summary.getFields().get("gs") ;
String a2 = (String) summary.getFields().get("dsf");
String a3 = (String) summary.getFields().get("asOfDate");
//Loading and registering Oracle database thin driver
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
//Creating a connection between Java program and Oracle database.
Connection con;
con = DriverManager.getConnection("jdbc:oracle:thin:@Classified details");
//Creating a Statement object to excute SQL statements
Statement sql= con.createStatement();
//Executing a SQL INSERT query using executeUpdate() method of Statement object.
sql.executeUpdate("INSERT INTO example__DATA.Execution VALUES("+"'"+a1+"'"+","+"'"+a2+"'"+","+"'"+a3+"'"+")");
}
catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
请帮助我了解问题在哪里?
答案 0 :(得分:0)
您是否在类路径中正确添加了Oracle lib JAR?
如果您将jar正确添加到类路径中,请尝试使用“ oracle.jdbc.OracleDriver”。
答案 1 :(得分:0)
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
错误的上一行显示未找到所提及的类。
请检查JVM ClassPath中是否存在ojdbc jar。最好是ojdbc6.jar
ojdbc jar中也存在2个驱动程序类
- oracle.jdbc.driver.OracleDriver
- oracle.jdbc.OracleDriver
代码对这两个都适用。