我尝试使用java在数据库9i中插入图像,但我发现一个错误
我的错误:我尝试使用java在数据库9i中插入图像,但我发现一个错误,java,oracle,jdbc,abstract-methods,Java,Oracle,Jdbc,Abstract Methods,我的错误: java.lang.AbstractMethodError:方法oracle/jdbc/driver/OraclePreparedStatement.setBlob(ILjava/io/InputStream;)V是抽象的 位于oracle.jdbc.driver.OraclePreparedStatement.setBlob(OraclePreparedStatement.java) 在controller.control\u gambar.addGambar(control\u
java.lang.AbstractMethodError:方法oracle/jdbc/driver/OraclePreparedStatement.setBlob(ILjava/io/InputStream;)V是抽象的
位于oracle.jdbc.driver.OraclePreparedStatement.setBlob(OraclePreparedStatement.java)
在controller.control\u gambar.addGambar(control\u gambar.java:35)
我的代码:
受保护的void doPost(HttpServletRequest请求,
HttpServletResponse响应)引发ServletException,IOException{
HttpSession session=request.getSession();
Login Login=(Login)session.getAttribute(“Login”);
{
字符串消息=null;
字符串问题=request.getParameter(“问题”);
字符串状态=request.getParameter(“状态”);
字符串teacher_id=login.getCuba();
String level_id=request.getParameter(“level_id”);
字符串topic_id=request.getParameter(“topic_id”);
String[]answer=request.getParameterValues(“mytext”);
System.out.println(“mana dia hg mai sat”+主题id);
系统输出打印项次(“魔法直径+等级id”);
系统输出打印项次(“魔法直径+卫星状态”);
字符串[]pegang=request.getParameterValues(“标记”);
int[]markah=新int[pegang.length];
for(int i=0;i
在我的控制器中
public int addGambar(testimage testimage1) throws SQLException {
//Blob img;
//byte [] imgdata=null;
Connection connection = facade.getConnection();
PreparedStatement ps = connection.prepareStatement("insert into testimage (id,gambar) values (?,empty_blob()) returning gambar into ?");
ps.setString(1,testimage1.getId());
ps.setBlob(2, testimage1.getGambar());
System.out.println("nie dalam controller gambar");
System.out.println(testimage1.getId());
System.out.println("nie dalam controller gambar");
int status4 = ps.executeUpdate();
return status4;
}
错误消息表示您正在使用添加之前的旧JDBC驱动程序(Java6) 使用更新的JDBC驱动程序,例如11g R2。新的驱动程序仍然可以与9i服务器通信
只需确保使用
ojdbc6.jar
文件(或更高版本)。在google中键入“如何使用java在数据库中插入图像”。你会找到很多有用的答案。我已经在谷歌上找到了它,并尝试在我的代码中使用它…但它不起作用,我不知道它为什么会失败…请帮助我你的代码很难理解。你在哪个网站上找到它?我可以给你推荐其他跑步的例子。@zqirifQ正如我所说的,太老了ojdbc14
与Java 1.4兼容,但您使用的是Java 6中添加的方法,因此需要ojdbc6
(或ojdbc7
)。或者停止使用更新的方法,但是为什么要停留在古老的Java 1.4倍,而升级驱动程序是如此简单?