You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

libmysql.dll加载失败:同配置新机器无法运行Delphi MySQL客户端

排查思路

针对你遇到的32位Delphi+Zeos应用在新Win10 64位客户端无法加载32位libmysql.dll的问题,按以下步骤排查:

  • 检查VC++运行库依赖:MySQL 8.x的32位libmysql.dll依赖32位的VC++ Redistributable(通常是2019或更高版本)。新机器可能只安装了64位运行库,需手动安装对应版本的32位VC++运行包后重试。
  • 验证libmysql.dll的完整性与版本匹配:
    • 对比正常客户端与新机器上libmysql.dll的SHA256哈希值(用命令certutil -hashfile "C:\路径\libmysql.dll" SHA256),确认dll未损坏。
    • 确认dll版本与MySQL服务器(8.0.27)、Zeos组件版本兼容,避免版本不匹配导致加载失败。
  • 排查权限与路径问题:
    • 将程序从网络共享复制到本地磁盘(如C:\temp)运行,排除网络共享的权限限制(比如读取执行权限不足)。
    • 检查新机器的UAC设置,尝试右键以管理员身份运行程序,验证是否因权限不足导致dll加载失败。
  • 确认编译与Zeos配置正确性:
    • 核对Delphi编译目标:确保项目的目标平台为Win32(Project -> Options -> Building -> Target Platforms),没有误设为Win64。
    • 在程序启动时添加调试代码输出zConnection1.LibraryLocation的实际值(如ShowMessage(zConnection1.LibraryLocation)),确认路径指向的是存在libmysql.dll的正确目录,尤其是网络共享路径是否解析正常。
    • 检查zConnection1.Protocol设置是否为mysql-8.0,与MySQL服务器版本匹配。
  • 追踪DLL加载过程:使用Process Monitor工具,监控程序加载dll的行为,查看是否存在加载错误(如尝试加载错误路径的dll、依赖项缺失),定位具体失败原因。
  • 排查安全软件拦截:临时关闭新机器上的Windows Defender或第三方杀毒软件,测试是否因安全软件拦截了libmysql.dll的加载,若正常则将dll添加至信任列表。
  • 确认Zeos组件版本一致性:确保新机器运行的程序与正常客户端使用的Zeos组件版本完全一致,避免因组件版本差异导致的兼容性问题。

内容的提问来源于stack exchange,提问作者svtdoug

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 20:39:15