我试图在java应用程序中调用java存储过程。我正在使用ORACLE数据库和JDeveloper。
我得到错误"异常线程"主"java.lang.NullPointerException.我不知道我做错了什么。
我有一个表“Beer”,我想用一个存储过程来选择所有数据,我从Java应用程序中调用这个存储过程。
我有一个java.class文件Store_A. java,我已经加载到ORACLE数据库与LOADJAVA:
import java.sql.*;
import java.io.*;
public class Store_a {
public static void apskatit ()
throws SQLException
{ String sql =
"SELECT * FROM Beer";
try { Connection conn = DriverManager.getConnection("jdbc:default:connection:");
PreparedStatement pstmt = conn.prepareStatement(sql);
ResultSet rset = pstmt.executeQuery();
rset.close();
pstmt.close();
}
catch (SQLException e) {System.err.println(e.getMessage());
}
}
}
然后我创建了一个程序,我计划用java调用它:
CREATE OR REPLACE PACKAGE Store_a AS
PROCEDURE apskatit;
END Store_a;
CREATE OR REPLACE PACKAGE BODY Store_a AS
PROCEDURE apskatit AS LANGUAGE JAVA
NAME 'Store_a.apskatit()';
END Store_a;
我有一个使用JDeveloper 12c创建的java文件:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Class1 {
/**
* @param args
*/
public static void main(String[] args) throws SQLException {
Connection conn = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
//Izveidojam savienojumu
conn = DriverManager.getConnection("jdbc.oracle.thin:@localhost:1521", "SYSTEM", "asdasd");
// Izveidojam callable statement
CallableStatement stmt = conn.prepareCall("CALL Store_a.apskatit()");
ResultSet resul = stmt.executeQuery();
while (resul.next()) {
System.out.println(resul.getInt(1) + "\t" + resul.getString(2));
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} finally {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
当我尝试运行java文件时,我在client.Class1.main(Class1.java:29)的线程“main”java.lang.NullPointerException中得到这个错误“Exception”
conn.close();
如何修复此问题?
非常感谢你提前。
如果你得到一个NPE(空指针异常),原因是你的conn对象为空。在你的最终块中,你试图关闭连接,而不检查连接是否被设置。我猜你在NPE之前还有另一个异常。检查你的日志输出。
问题内容: 这是代码: 错误: 跑: 请帮助我解决此错误。我正在使用Windows Vista OS。 谁能建议我如何以.3gp格式存储文件?请帮助 问题答案: 方法内部的第202行的某些对象引用是在代码尝试使用点运算符访问/调用它时进行的。 例如 解决方案实际上很简单。只需实例化它即可确保它不为空: …或在访问/调用之前简单地执行nullcheck:
问题内容: 我在Java程序上遇到问题。线程“主”中的异常 是我得到的错误。我真的可以使用一些帮助,因为我在这个地方呆了几个小时… 问题答案: 这就是问题 因为是,所以每次使用它都会出现,直到您对其进行初始化。所以这: 将失败。 可能的解决方案是在声明时将其初始化: IMO比解决此异常更为重要的事实是,您应该学会 阅读 stacktrace并 理解其 含义,以便可以发现问题并加以解决。 java.
我有任务要做,我有一个问题,我得到了错误。我不知道怎么修理它: 线程“main”java.lang.NullPointerException在test.main(test.java:29)中出现异常
我是一个初学者,当我试图使用JPG创建标签时遇到了一些问题。 显示线程“main”java.lang.NullPointerException中的 异常 在Pane.myImageIcon.(myImageIcon.java:11) 在pane.myimageicon.main(myimageicon.java:21)
我的代码中出现了这个错误。 这是我的代码: 这就是结果。错误:在线程“main”java中输入model:Exception。lang.NullPointerException在汽车上。主(车.java:10)
最近我正在学习Spring框架。所以我正在尝试检查依赖注入在Spring框架中的工作原理。因此,我创建了一个新的java项目并使用基于构造函数XML的配置练习依赖注入代码。运行我的项目后,我收到了这个错误...... 类路径资源[com/mir00r/beans.XML]的XML文档中的第24行无效;嵌套异常为组织。xml。萨克斯。SAXParseException;行号:24;列数:9;cvc复