在本机(开发机器)连接本地MysQL或其它机器上的MySQL都可以正常连接并访问,但如果将程序放到其它机器上,就怎么也连不上任何一个MySQL数据库。
请问是怎么回事啊?是不是UniDAC的问题?

解决方案 »

  1.   

    UniDAC?我也是一直用的这个,你是不是在设计的时候直接用Connection连接数据库了?最后编译的时候要断开,不断开的话,它会直接以你在设计期间的设计去连接那个数据库。
      

  2.   

    ok,已解决,要把libmysql.dll和程序放到一起才行。那么这就带来另外的问题:怎么样才能不要这么麻烦,直接部署exe文件给客户?
    另:又发现从表里读出的数据中,汉字都变成问号了,请问这么解决?
      

  3.   


    好像有不用dll的方式
    汉字问题,应该是字符集的不同
      

  4.   

    可以试试ZeosLib .
    ZeosLib 是一组可以在 Delphi、FreePascal、Kylix 和 C++ Builder 中使用的数据库访问组件,支持包括 MySQL, PostgreSQL, Interbase, Firebird, MS SQL, Sybase, Oracle 和 SQLite 在内的数据库系统。著名的 HeidiSQL 数据库管理工具就是使用该组件来连接MySQL数据库。目前此版本已经支持delphi & C++Builder XE.
    with ZConnection1 do
    begin
      HostName:='192.168.0.240';
      Database:='hhhhhh';
      User:='root';
      Password:='888888';
      Port:=3336;
      Protocol:='mysql';
      LoginPrompt:=False;
      Connect;
    end;
    with ZQuery1 do
    begin
      Close;
      SQL.Text:='set names gbk';
      ExecSQL;
    end;