JAVA jdbc blob?

时间:2017-03-22 14:11:04

标签: java jdbc

这是错误的

"Exception in thread "main" java.lang.AbstractMethodError: 
Method com/mysql/jdbc/ServerPreparedStatement.setBinaryStream(ILjava/io/InputStream;)V is abstract
    at com.mysql.jdbc.ServerPreparedStatement.setBinaryStream(ServerPreparedStatement.java)
    at jdbc.demo.main(demo.java:21)".

我已将我的代码段添加如下,您能否告诉我一些我做错了什么?

import java.io.File;
import java.io.FileInputStream;
import java.sql.*;
public class demo{

    public static void main(String args[]) throws Exception{

        String url = "jdbc:mysql://localhost:3306/tutorial1";
        String name = "root";
        String pass = "rubyonrails$";
        Class.forName("com.mysql.jdbc.Driver");
        Connection con = DriverManager.getConnection(url,name,pass);

        String sql = "update binarylargeobject set resume=? where id=1";
        PreparedStatement st = con.prepareStatement(sql);
        File file = new File("C:\\Users\\USER\\Desktop\\vid.pdf");
        FileInputStream input = new FileInputStream(file);
        st.setBinaryStream(1,input);
        st.executeUpdate();

   }

}

1 个答案:

答案 0 :(得分:1)

在您的情况下碰巧看到的

AbstractMethodError意味着您使用的MySQL JDBC Connector / J驱动程序尚未实现方法setBinaryStream()

当我试图深入挖掘here时,我发现了一篇很好的文章,你必须看看它。

从上面的网站和其他各方观察到的是使用MySQL JDBC Connector / J版本而非5.1.36(JDBC类型4驱动程序)。

希望您能够通过上述建议解决您的问题。