
DAO_Toolset_VO_Fix
针对现代SQL Server(2016–2025)上“Generate VO fails with 80040e73 / 80040203”的快速修复。
查看大图[center][color=#1e84cc][size=5][b]《龙腾世纪:起源》工具集 - 针对现代 SQL Server 22 (MSOLEDBSQL 18+) 的 VO 生成修复[/b][/size][/color][/center]
[size=4][b]症状[/b][/size]
工具集本身运行正常——你可以打开区域、编辑对话、浏览数据库。[b]但是[/b]当你尝试为对话[b]生成 VO[/b](占位符配音)时,每次都会失败。工具集日志窗口显示:
[code]Failed to do Local post of placeholder voice over data RPU process failed with a return code of '1'. no FESL allocator defined Error opening environment. HRESULT = 80040203[/code] [i]注意:工具集显示 80040203,但 RPU 日志中的真实错误是 "Bad HRESULT: 80040e73"。[/i]
这个问题发生在安装了 SQL Server 2016/2017/2019/2022/2025 的 Windows 10/11 上。在装有捆绑的 SQL Server 2005 的 Windows 7 上,它[b]不会[/b]发生。
[size=4][b]根本原因[/b][/size]
这[b]不是[/b]缺少 PhysX dll,[b]不是[/b]错误的资源构建路径,[b]不是[/b]缺少 SQL Native Client,而且你[b]不[/b]需要虚拟机或 SQL Server 2005。
当你生成 VO 时,工具集会启动一个单独的工具 [b]RPU.exe[/b],并在命令行中传入数据库连接字符串([font=Courier New]-connection[/font] 参数)。然后 RPU 使用该字符串打开自己的数据库连接。
工具集传递给 RPU 的连接字符串存储在这里: [code]HKEY_CURRENT_USER\Software\BioWare\Dragon Age\Toolset\Environment 值名称:DatabaseConnection[/code] [b]重要提示:[/b] 这与大多数指南告诉你要编辑的 HKLM 下的 [font=Courier New]DefaultDatabaseConnection[/font] 是[i]不同[/i]的值。编辑 HKLM 的值对 VO 生成[b]毫无[/b]影响,因为 RPU 从不读取它——它只接收工具集从上述 HKCU 值传递到其命令行中的内容。
现代 SQL 安装使用 [i]Microsoft OLE DB Driver for SQL Server[/i] (MSOLEDBSQL) 版本 18 或更新。从 v18 开始,该驱动程序默认[b]要求加密连接[/b]。RPU 是一个 2009 时代的工具,发送的是旧式连接字符串,从不协商加密。驱动程序拒绝握手,RPU 出错并返回 80040e73("provider/string not recognized")。工具集只报告通用的 80040203,隐藏了真实原因。
[size=4][b]修复方法[/b][/size]
通过在连接字符串末尾添加两个参数,告诉驱动程序不要要求加密:
[code];Use Encryption for Data=False;Trust Server Certificate=True[/code] 这就是完整的修复。一个注册表值。无需重新安装。
[size=4][b]应用此修复前的重要事项[/b][/size]
运行前,在记事本中打开此模组提供的 .reg 文件(右键单击 - 编辑)。查看最后一行——它以 [font=Courier New]Data Source=.[/font] 结尾。
[font=Courier New].[/font] 表示[b]默认[/b] SQL 实例 (MSSQLSERVER)。如果你的 SQL Server 安装为[b]命名[/b]实例(例如 [font=Courier New].\SQLEXPRESS[/font] 或某些安装指南中的 [font=Courier New].\BWDATOOLSET[/font]),请修改该部分以匹配你的实例——例如 [font=Courier New]Data Source=.\SQLEXPRESS[/font] ——然后保存文件。
要查找你的实例名称,请在命令提示符中运行: [code]reg query "HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL"[/code] [list] []如果列出的是 [b]MSSQLSERVER[/b] – 保持为 [font=Courier New]Data Source=.[/font] []如果列出的是其他内容(例如 [b]SQLEXPRESS[/b])– 将其更改为 [font=Courier New]Data Source=.\SQLEXPRESS[/font] [/list]
[size=4][b]使用方法[/b][/size]
[list=1] []按照[url=https://www.nexusmods.com/dragonage/mods/5904]此处的说明[/url]安装 MySQL 22。 []完全关闭工具集。 [][i](可选但明智的做法)[/i]首先备份注册表项——在 cmd 中运行: [code]reg export "HKCU\Software\BioWare\Dragon Age\Toolset\Environment" "%USERPROFILE%\Desktop\backup.reg" /y[/code] []如果你的实例名称不同,请编辑此模组提供的 .reg 文件中的 Data Source。 []双击此模组中的 .reg 文件,然后点击“是”。 []启动工具集,确认它仍然能看到数据库。 [*]生成 VO – 现在应该会成功。 [/list]
还没有人评论,去客户端里说两句吧。
评论在新手盒子客户端中发表,这里同步展示。