Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javajdbc关于Blob和Clob,需要将doc文件上传到MySQL数据库_Java_Mysql_Jdbc_Blob_Clob - Fatal编程技术网

javajdbc关于Blob和Clob,需要将doc文件上传到MySQL数据库

javajdbc关于Blob和Clob,需要将doc文件上传到MySQL数据库,java,mysql,jdbc,blob,clob,Java,Mysql,Jdbc,Blob,Clob,我目前正在自己做实验,学习一些JDBC以及如何将对象持久化到数据库。现在我正在尝试将文档上载到数据库。 我得到以下错误: Exception in thread "main" java.lang.AbstractMethodError: Method com/mysql/jdbc/PreparedStatement.setClob(ILjava/io/Reader;)V is abstract at com.mysql.jdbc.PreparedStatement.setClob(Pre

我目前正在自己做实验,学习一些JDBC以及如何将对象持久化到数据库。现在我正在尝试将文档上载到数据库。 我得到以下错误:

Exception in thread "main" java.lang.AbstractMethodError: Method com/mysql/jdbc/PreparedStatement.setClob(ILjava/io/Reader;)V is abstract
    at com.mysql.jdbc.PreparedStatement.setClob(PreparedStatement.java)
    at dao.StudentDAO.uploadResume(StudentDAO.java:156)
    at controller.Test.main(Test.java:30)
我不知道为什么会发生这种情况,有人能帮我看看错误吗? 以下是我的一些代码:

// this is in my studentDAO class:

private static final String SQL_UPDATE_RESUME = 
        "UPDATE students
        SET resume = ? 
        WHERE socialSecNumber = ?";

public boolean uploadResume(Reader r) {
        PreparedStatement pst;
        //Reader file;

        try{
            pst = con.getConnection().prepareStatement(SQL_UPDATE_RESUME);
            //file = r;
            pst.setClob(1, r);
        }
        catch(SQLException e){
            System.out.println("Error when uploading the resume: " + e);
        }
        finally{
            con.closeConnection();
        }
        return true;
    }

public class Test {
public static void main(String[] args) {


    File file = new File("C:/Users/Carlos L/Desktop/Resume.docx");
    Reader r = null;
    try {
        r = new FileReader(file);
    } catch (FileNotFoundException e) {
        System.out.println("Error when locating the file: "+ e);
    }
    sdao.uploadResume(r);
}
}是在Java6中添加的,您正在使用之前的JDBC驱动程序


升级到与Java 6兼容的驱动程序,您的代码将正常工作。

您的JDBC驱动程序可能不支持CLOB。看看,它创建了一个
Clob
对象,而不是
Reader
是的,我替换了驱动程序,它成功了。该文件现在上传到数据库,但它是不清晰的,我看它通过php我的管理员,我使用XAMPP。是的,你是对的,我下载了最新的驱动程序,它工作。现在,当我将其上传到数据库时(我使用的是XAMPP和php my admin),我上传文档的专栏内容是不可读的,它充满了无意义的数据。这听起来像是另一个问题。;-)哈哈,我想我今天不能问更多的问题了。