V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
auto8888
V2EX  ›  问与答

sqlite 写入经常报 SQLITE_IOERR 咋整?

  •  
  •   auto8888 · Nov 13, 2020 · 1284 views
    This topic created in 2001 days ago, the information mentioned may be changed or developed.

    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 replies    2020-11-13 16:22:48 +08:00
    elechi
        1
    elechi  
       Nov 13, 2020
    数据库忙。不要每次都 opendb 。
    auto8888
        2
    auto8888  
    OP
       Nov 13, 2020
    @elechi 有道理啊! 试试看看
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   972 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 19:13 · PVG 03:13 · LAX 12:13 · JFK 15:13
    ♥ Do have faith in what you're doing.