V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
auto8888
V2EX  ›  问与答

sqlite 写入经常报 SQLITE_IOERR 咋整?

  •  
  •   auto8888 · 2020-11-13 11:23:17 +08:00 · 904 次点击
    这是一个创建于 1505 天前的主题,其中的信息可能已经有所发展或是发生改变。

    C++,sqlite V3.18.0,cpu imx6q,linux,4G 内存,1T 固态硬盘。

    存储 10 个文件,每个文件存一次休息 2 秒,一次 10 条,一条 300KB,主要存在 Bolb 。

    每次写入流程类似于:

    openDb

    BEGIN TRANSACTION;

    INSERT INTO 'tablename' table VALUES ('data1', 'data2');(再 sqlite3_bind_blob )

    INSERT INTO 'tablename' table VALUES ('data3', 'data4');(再 sqlite3_bind_blob )

    ...

    commit transaction;

    closeDb

    就 commit 、sqlite3_prepare_v2 、sqlite3_step 的时候都可能报 SQLITE_IOERR

    难道要改成网上说的 UNION ALL SELECT 那种形式吗。。

    2 条回复    2020-11-13 16:22:48 +08:00
    elechi
        1
    elechi  
       2020-11-13 13:21:17 +08:00
    数据库忙。不要每次都 opendb 。
    auto8888
        2
    auto8888  
    OP
       2020-11-13 16:22:48 +08:00
    @elechi 有道理啊! 试试看看
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2815 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 03:04 · PVG 11:04 · LAX 19:04 · JFK 22:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.