尧图精选

Duix-Avatar 报 SQLite3 can only bind 类型错误?先查 voice_id

🕒 发布时间:2026/9/11 11:57:20 📁 来源:尧图网络
Duix-Avatar 报 SQLite3 can only bind 类型错误先查 voice_id【免费下载链接】Duix-Avatar Truly open-source AI avatar(digital human) toolkit for offline video generation and digital human cloning.项目地址: https://gitcode.com/GitHub_Trending/he/Duix-Avatar关键词核心词SQLite3 can only bind长尾词Duix-Avatar 数字人报错、better-sqlite3 绑定类型错误、创建模特失败排查、voice_id 插入数据库报错、biz.db 数据文件处理在 Duix-Avatar数字人克隆工具里新建模特时后台日志突然冒出SQLite3 can only bind numbers, strings, bigints, buffers, and null界面卡在模型创建环节。这是新手最常撞上的一个坑不是你的环境坏了而是有个非法值被写进了数据库。现象新建模特时报类型绑定错误触发路径很固定创建模特 → 系统训练音色 → 报错。日志里能抓到类似这行SqliteError: SQLite3 can only bind numbers, strings, bigints, buffers, and null关键信息是绑定时炸了不是建表、也不是查询。项目用的数据库封装在 src/main/db/数据落在应用 userData 目录下的biz.db文件里。定位谁把 false 塞进了 voice_id顺着报错往回追链路是这样的新建模特时主进程先调 TTS 服务训练音色入口在 src/main/service/voice.js 的train()训练失败时比如 TTS 服务没起来train()直接return false这个false被当成voiceId一路传进 src/main/dao/f2f-model.js执行INSERT INTO f2f_model ...时绑定到voice_id字段。SQLite 的绑定层只认数字、字符串、bigint、Buffer 和 null布尔值不在白名单里于是当场报错。类比一下数据库是个只收整数票据的窗口代码递了张假/真的小纸条窗口直接拒收。根因其实不在数据库而在上游把失败结果当成成功 ID 往下传了——false本应代表训练没成功别插库了。修复按改动量从小到大三种做法1️⃣ 不动代码先让 TTS 服务正常改动量为零这个报错本质是音色训练失败的副作用。先确认127.0.0.1:18180的 TTS 服务和8383的 face2face 服务都已启动对应 src/main/config/config.js 里的serviceUrl。服务正常后重新创建模特train()返回真实 ID报错自然消失。2️⃣ 最小改动在 train() 失败时抛出异常在voice.js的train()里把return false改成throw new Error(音色训练失败)f2f_model就不会被写入脏数据界面也能明确提示失败原因而不是一个晦涩的 SQL 报错。3️⃣ 加一道防线入库前校验 voiceId在 src/main/dao/f2f-model.js 的insert()入口加一行判断if (typeof voiceId ! number) throw new Error(voiceId 必须是数字)这样任何非法值都会在写库前被拦下报错指向具体字段排查不用再猜。替代方案直接重置 biz.db如果biz.db已经写进了脏记录导致列表页也异常最省事的替代方案是关掉应用后删除该biz.db文件再重启——启动时initDB()会按 src/main/db/sql.js 自动重建全部表结构。适用条件模特素材本来就存在磁盘上duix_avatar_data目录你只是需要重跑一次创建不适用于想保留历史视频记录的场景删库等于清空本地记录。避坑提示看到 bind 类报错先想哪个字段收到了异常值而不是怀疑数据库本身服务间调用的返回值ID、路径入库前务必做类型断言false/undefined是惯犯日志里搜[SQL Run]项目封装了 SQL 日志能直接看到出错语句和参数定位快得多上游失败要快速失败把错误抛在业务层别让脏值漏到数据层。【免费下载链接】Duix-Avatar Truly open-source AI avatar(digital human) toolkit for offline video generation and digital human cloning.项目地址: https://gitcode.com/GitHub_Trending/he/Duix-Avatar创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联 返回资讯列表 →