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

已配置ODBC但ZeosLib的ZConnection无ODBC选项,如何连接MySQL?

ZeosLib通过ODBC连接MySQL的问题解决办法
  • 检查ZeosLib的ODBC组件支持
    确认你使用的ZeosLib版本是否包含完整的ODBC驱动组件。部分精简版或旧版本可能未编译ODBC相关单元,导致协议下拉框无ODBC选项。需确保安装完整版本,或手动编译ODBC对应的包(如zeosdbo.pas、zodbc.pas等单元)。另外,组件面板中若存在ZODBCConnection专用组件,优先使用它配置连接。

  • 修正连接参数设置
    使用通用ZConnection时,Protocol设为odbc是正确的,但需注意参数冲突问题:

    • ODBC数据源配置时已包含认证信息,无需重复设置User和Password,否则可能导致连接失败。
    • 若为用户DSN,需确保程序运行用户有权限访问该数据源(可尝试以管理员身份运行程序)。
      修改后的代码示例:
    procedure TMainConnection.DataModuleCreate(Sender: TObject);
    begin
      with ZConnection1 do
      begin
        Protocol := 'odbc';
        Database := 'GalenaRadnjaODBCDataSource';
        // 注释掉冗余的用户密码配置,使用ODBC数据源内的设置
        // User := 'root';
        // Password := '';
    
        try
          Connect;  
    
          if Connected then
            ShowMessage('连接成功'); // 替换异常抛出为正常提示
        except
          on E: Exception do
          begin
            ShowMessage('连接错误: ' + E.Message);
          end;
        end;
      end;
    end;
    
  • 验证ODBC驱动文件与单元引用

    • 检查ZeosLib安装目录或程序运行目录下是否存在zodbc.dll(Windows平台),缺失则需重新编译ODBC模块或从完整安装包复制该文件。
    • 在项目代码的uses部分添加ZODBC单元,确保程序能识别ODBC协议。
  • 匹配程序与ODBC数据源架构
    确认ODBC数据源的位数(32/64位)与程序编译架构一致:

    • 32位程序对应32位数据源,通过C:\Windows\SysWOW64\odbcad32.exe配置;
    • 64位程序对应64位数据源,通过C:\Windows\System32\odbcad32.exe配置。
      架构不匹配会直接导致连接失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 06:24:52