【问题标题】:error when insrting blob into sqlite table [duplicate]将blob插入sqlite表时出错[重复]
【发布时间】:2017-05-06 13:32:26
【问题描述】:

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

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)

我有以下代码:

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

二进制数据的类型为byte[]

有人可以帮我吗?

【问题讨论】:

  • 什么是sql 变量?
  • 抱歉浪费了您的时间,非常感谢。从 executeUpdate 及其工作中删除 sql 作为参数。我应该删除这个问题,因为它很愚蠢。错误来自复制代码..
  • 这个问题可能对其他有同样问题的人仍然有帮助。如果您有答案,请将其写为答案。

标签: java sqlite jdbc blob


【解决方案1】:

很抱歉所有打扰这个愚蠢的问题。首先我想删除这个问题,但也许有人落入了同样的陷阱。

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

【讨论】:

    猜你喜欢
    • 2012-03-12
    • 2015-09-12
    • 2013-03-21
    • 2015-04-18
    • 1970-01-01
    • 2019-11-24
    • 1970-01-01
    • 2014-02-05
    • 1970-01-01
    相关资源
    最近更新 更多