架设单机传奇时,配置DBC2000数据库过程中点击“Apply”后程序无响应,任务管理器显示BDE Administrator(BDEADMIN.EXE)卡死,是典型的数据源注册冲突或系统兼容性问题。即使重新安装多个版本DBC,控制面板仍残留HeroDB等旧配置,导致服务端无法正常读取角色数据。
首要原因是32位与64位系统混用导致的注册表错位。DBC2000为纯32位组件,在64位Windows系统中必须通过SysWOW64下的ODBC管理器配置。但BDE Administrator本身调用的是16位兼容层,当系统存在多个DBC版本(如4.5、5.2、2000)时,其内部驱动路径指向混乱,点击Apply会触发死循环,最终无响应。
解决步骤如下:
第一步:彻底清除残留DBC配置。
进入控制面板 → 管理工具 → 数据源(ODBC),分别打开“用户DSN”和“系统DSN”,删除所有名称含Mir、Hero、DB、Legends等字样的数据源。随后按Win+R输入regedit,定位到以下注册表路径:
HKEY_LOCAL_MACHINESOFTWAREWOW6432NodeBorland
HKEY_CURRENT_USERSoftwareBorlandDatabase Engine
将整个“Borland”项导出备份后删除。此操作清除旧版BDE残留配置,避免新安装冲突。
第二步:仅安装单一版本DBC2000。
推荐使用广泛兼容的DBC2000 4.5版。安装时右键安装程序,选择“以管理员身份运行”,并确保全程关闭杀毒软件。安装完成后不要立即打开BDE Administrator,先手动创建数据源。
第三步:手动配置BDE数据源。
打开C:Program Files (x86)BorlandCommon FilesBDEBDEADMIN.EXE(若为64位系统),在Object → New → Database → STANDARD,设置:
Path: 指向服务端DB文件夹(如D:MirServerDB)
Default Driver: PARADOX
Name: HeroDB(必须与服务端配置文件中的DBName一致)
配置完成后直接关闭BDE,不要点击Apply或Save按钮。BDE在部分系统下点击Apply会触发UI线程阻塞,正确做法是配置后直接退出,系统会自动保存至注册表。
第四步:验证数据源是否生效。
重新启动服务端,观察LoginSrv或M2Server日志。若出现“Connected to HeroDB”或“Load account success”,说明DBC已正常加载。若仍报错“Database not found”,检查服务端Config.ini中DBPath是否指向实际DB目录,且该目录包含!addrtable.txt、!UserItem.txt等核心数据文件。
若强制退出BDE后再次运行传奇出现“BDE error 8401”或“Driver not loaded”,说明驱动未注册。此时需重新运行DBC2000安装包,选择“Repair”选项修复驱动注册,而非完全卸载重装。
注意:部分精简版服务端自带虚拟DBC模块(如MirDB.dll),无需安装DBC2000。若服务端目录存在此类文件,应删除系统中所有BDE相关组件,改用内置数据库模式,避免驱动冲突。
完成上述操作后,服务端可正常读取账号、角色及物品数据,登录器能顺利进入游戏界面。关键在于避免多次安装不同DBC版本,并绕过BDE Administrator的Apply操作,直接通过注册表或服务端配置实现数据源绑定。

