SQLITE写入大量大数据时,报错ERR 11:database disk image is malformed

在尝试将2K条包含人员信息、图片等数据批量插入SQLite数据库时,遇到ERR 11错误提示数据库文件损坏。通过批处理文件进行循环插入,调整批处理语法,并解决外键约束和数据库只读问题。修复文件并设置主键成功插入数据。
摘要由CSDN通过智能技术生成

初始目的:往SQLITE数据库中,加入2K条人员的数据,人员数据包括:人员信息、人员图片、人员其他图片信息

准备工作:

  把sqlite3.exe,sqlite3.dll,test.db,insert.bat放在同一个目录下,由于虚拟机操作,我放在了C盘根目录下

尝试方法:

1-由于SQLITE不支持循环操作,使用批处理文件,循环加入数据

  批处理文件为:

@ECHO OFF 
For /L %%i in (3,1,2100) do ( sqlite3 test.db < insert.bat %%i)

pause 
经测试对于‘<’符号总是会报错,貌似语法错误,

2-修改批处理文件为:

@ECHO OFF 
For /L %%i in (3,1,2100) do ( sqlite3 test.db "INSERT INTO t_person(person_id,person_code,person_name,gender_type_id,admin_flag,remark,flag,operator_id,creation_time) VALUES(%%i,'code_'%%i,'name_'%%i,1,0,'',0,1,'2017-03-31 17:30:30');")

pause 
当只插入人员和人员图片时,数据可以正常插入,但是插入大容量的图片时,就会报错ERR 11:database disk image is malformed
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值