【问题标题】:JAVA jdbc blob? [duplicate]JAVA jdbc blob? [复制]
【发布时间】:2017-08-14 17:05:28
【问题描述】:

报错

"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)".

我已经添加了我的代码 sn-p 如下,你能告诉我我做错了什么吗?

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();

   }

}

【问题讨论】:

标签: java jdbc


【解决方案1】:

你碰巧看到的AbstractMethodError表示你使用的MySQL JDBC Connector/J驱动没有实现setBinaryStream()方法。

有一篇很好的文章,我在尝试深入挖掘here时偶然发现的,你必须看看它。

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

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

【讨论】:

    猜你喜欢
    • 2017-05-07
    • 2017-05-07
    • 2017-05-06
    • 2021-01-04
    • 2010-10-26
    • 1970-01-01
    • 1970-01-01
    • 2016-03-06
    • 2014-04-13
    相关资源
    最近更新 更多