数据库

数据库转换与迁移

LEG/BLUE引擎数据转换到SQLite的完整流程、数据版本不对应的转换顺序

数据库转换与迁移

转换到 SQLite 数据库相关报错

LEG 引擎或比较老的版本直接转换 SQLite 数据库时,可能会出现报错。

原因:老版本的数据结构不兼容 SQLite 格式,需要先用中间版本引擎过渡。

解决办法:

  1. 先用 0521 开头的引擎(推荐使用 0521-2 引擎)正常启动一次
  2. 启动成功后,再转换 SQL 数据
  3. 转换完成后再升级到目标引擎版本
0521 引擎充当"桥梁"角色,它能够识别老数据结构并将其升级到兼容 SQLite 的中间格式。

数据版本不对应,请转换数据后再开启

这是引擎版本升级中最常见的提示,说明当前数据版本与引擎版本不匹配。

不需要保留数据的情况

直接在控制台清理数据即可,清理后引擎会创建新版本的数据结构。

需要保留玩家数据的情况

使用合区工具转换 mir.db,从最老的 LEG 数据开始,按照版本顺序逐步转换:

135格大仓库 → 宝石镶嵌 → 大背包 → 64位物品ID

详细转换顺序

步骤对应引擎版本说明
1. 135格大仓库0521 开头引擎如 0521-2
2. 宝石镶嵌0523 开头引擎如 0523-18
3. 大背包0524-07 以后引擎转换软件在引擎包数据合区工具中
4. 64位物品ID0525 以后引擎最新数据结构

转换注意事项

  • 如果转换时提示"要求宝石版本数据"等,说明数据比较老,不能跨版本转换
  • 找一个 0523-18 的合区工具按顺序逐步转换
  • 每个版本的合区工具在对应引擎包的数据合区工具目录中
跨版本直接转换会导致数据损坏或丢失。必须按照版本顺序逐步转换,不可跳过中间版本。

假人数据转换

假人数据的转换流程与真人数据完全一致,使用同样的合区工具和转换顺序。

数据库无法打开

DBC 版本引擎

  1. 检查 DBC2000 是否已安装
  2. 检查 HeroDB 别名路径是否正确
  3. 检查数据库文件路径是否存在

SQL 版本引擎

  1. 检查 DataTable_HeroDB.db 文件是否存在
  2. 确认数据库文件未被其他程序占用
  3. 检查引擎控制台中的数据库路径配置

怪物名称乱码或异常

数据库转换后怪物名称出现乱码或显示异常。

解决:使用 HeroDBConvertor.exe 转换 monster.db 后重新导入数据(扩展名字长度至最长 32 字节)。

物品属性异常(升级后)

升级引擎版本后物品属性显示异常或功能不生效。

解决:检查 StdItems 表结构是否匹配当前引擎版本,升级后可能需要使用合区工具转换数据。

相关阅读