将blob转换为sqlite表时出错

时间:2016-12-21 07:37:40

标签: java sqlite jdbc blob

我只是想将二进制数据插入到blob字段中,我收到错误:

 @RequestMapping(value = "/media/image/upload", method = RequestMethod.POST)
        @ResponseBody
        public Map<String, String> productPictureUploadnew(MultipartHttpServletRequest request, HttpServletResponse response) {
            Map<String, String> resp = new HashMap<>();
            System.out.println("fsasasafsafsafsafsa");
            Iterator<String> itr = request.getFileNames();

            String photoCake = request.getParameter("photoCak");
            File file;
          ----------
           -------
          ----------              

            return resp;
        }

我有以下代码:

java.sql.SQLException: not implemented by SQLite JDBC driver
    at org.sqlite.Unused.unused(Unused.java:31)
    at org.sqlite.PrepStmt.executeUpdate(PrepStmt.java:588)
    at db.DbFunctionsMap.sqlInsertWithBinary(DbFunctionsMap.java:42)
    at maps.MapCacheHelper.cacheMapDef2Db_externalize(MapCacheHelper.java:217)
    at maps.MapCacheHelper.cacheMapDefs(MapCacheHelper.java:185)

binarydata的类型为PreparedStatement prep = connectionWrite.prepareStatement("INSERT INTO mapdefcache (identifier,cache) values('myid',?)"); prep.setBytes(1, binarydata); prep.executeUpdate(sql); <<<< !----------- not implemented by SQLite JDBC driver ! prep.close();

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

对于所有困扰这个愚蠢问题的人抱歉。首先,我想删除这个问题,但也许有人陷入同一个陷阱。

我从“Internet”复制了一些代码,错误地没有看到prep.executeUpdate的参数已经过时,并认为它是blob的问题。 这么简单 prep.executeUpdate();做了伎俩。