DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: tkzcol
今日帖子: 10
在线用户: 26
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 yesin119 (yesin119) ★☆☆☆☆ -
盒子活跃会员
2015/9/3 15:04:01
标题:
TSqlConnection怎么连接MySQL数据库呢?貌似怎么弄都提示缺少文件~~求救 浏览:1851
加入我的收藏
楼主: XE8UP1开发的Datasnap服务器程序。
目标机环境:
Windows Server 2008,MySQL5.6.25。

服务器TSQLConnection初始化函数:
function TdtmdlSvrCon.Connect_MySql_WxDb: Boolean;
begin
    conWxMySqllink.Close;
    conWxMySqllink.DriverName := 'MySQL';
    conWxMySqllink.ConnectionName := 'MSSQLConnection';
    conWxMySqllink.Params.Values['HostName'] := 'localhost';
    conWxMySqllink.Params.Values['DataBase'] := 'dbname_sys';
    conWxMySqllink.Params.Values['User_Name'] := 'root';
    conWxMySqllink.Params.Values['Password'] := '12345';
    conWxMySqllink.Params.Values['ConnectTimeout'] := '30';
    conWxMySqllink.Params.Values['ServerCharSet'] := 'utf8';
    conWxMySqllink.LoginPrompt := False;
    try
      conWxMySqllink.Open;
      Result := true;
      LogInfo('[MySql服务器启动成功]');
    except
      on e: Exception do
      begin
        LogInfo(':●:[MySQL启动失败]'+e.Message);
        Result := False;
      end;
    end;
  finally
    myIniFile.Free;
  end;
end;

错误提示:
DBX Error:  Driver could not be properly initialized.  Client library may be missing, not installed properly, of the wrong version, or the driver may be missing from the system path.

可是我该放置的文件:
dbxmys.dll和libmysql.dll都放在运行目录下和System32目录下...

请高手指点一下,还需要什么环境文件吗?
----------------------------------------------
-
作者:
男 yesin119 (yesin119) ★☆☆☆☆ -
盒子活跃会员
2015/9/3 15:08:59
1楼: 另外我也从本机的XE8UP1的目录Redist\win32下把相关的DLL或者所有文件也都试了一下,还是不行。
服务器是Win2008 Server 的我把64位下的相关dll也都拷贝过去试过。也不行
奇怪了~~
链接MS SQL Server倒是挺好的,服务器上装了SQL2012,但是在连接时也提示错误,后来我装了一个sqlncli64,链接MS SQL2012倒是没问题了。

但是链接MySql试了一整天了,都没搞定~~等候高手
----------------------------------------------
-
作者:
男 xaccc (xaccc) ★☆☆☆☆ -
盒子活跃会员
2015/9/3 17:36:49
2楼: 需要的是Mysql Client的DLL文件

libmysql.dll
----------------------------------------------
-
作者:
男 yesin119 (yesin119) ★☆☆☆☆ -
盒子活跃会员
2015/9/4 16:29:52
3楼: 此文件我在提问中已经说了,已经包含在目录下....
----------------------------------------------
-
作者:
男 nevergrief (孤独骑士) ★☆☆☆☆ -
盒子活跃会员
2015/9/4 18:41:22
4楼: 以前碰到过,放了dll也不行。后来发现是dll版本不一致的原因。你用哪个mysql版本,就从它自带的dll里拷出来。当然控件也有可能自带,都试试吧。
----------------------------------------------
只有偏执狂才能生存!
作者:
男 yesin119 (yesin119) ★☆☆☆☆ -
盒子活跃会员
2015/9/6 9:49:59
5楼: MySql的版本是MySQL5.6.25

郁闷了,一直卡在:
Unable to load dbxmys.dll (ErrorCode 193).  It may be missing from the system path.

此文件是XE8 UP1目录下自带的,应该用最新版本的没问题吧》?
至于这个libmysql.dll文件,MySQL版本是MySQL5.6.25。我没有从MySQL目录下找到此文件,整个计算机搜索也找不到此文件。
我从官网下了一个MySql 最新版for C的接口,安装后,有这个文件,我拷贝过来的

这个问题卡了三天了,郁闷啊,难道Delphier很少用MySql?
----------------------------------------------
-
作者:
男 sysback (无聊的人做无聊的事) ▲▲▲▲▲ -
普通会员
2015/9/6 10:21:22
6楼: 用 UniDAC 的 TUniConnection,TMySQLUniProvider,TUniQuery
加 TDataSetProvider
----------------------------------------------
-
作者:
男 yesin119 (yesin119) ★☆☆☆☆ -
盒子活跃会员
2015/9/6 18:12:12
7楼: 本机安装XE8 UP1,+MySQL5.6.26
在设计状态,把TSQLConnection相关信息都设置好,然后Connected改为True,也出错:
DBX Error:  Driver could not be properly initialized.  Client library may be missing, not installed properly, of the wrong version, or the driver may be missing from the system path.

这个真是郁闷了,....还要安装什么库文件吗?
----------------------------------------------
-
作者:
男 yesin119 (yesin119) ★☆☆☆☆ -
盒子活跃会员
2015/9/7 18:21:43
8楼: 算了,最终使用TFDConnection来解决问题。
相对于TFDConnection,看着TSQLConnection很弱智了。
不清楚为什么亦博龙弄这么多数据库的Connection做什么?
好好地,搞好一个不就行了吗?
----------------------------------------------
-
作者:
男 yesin119 (yesin119) ★☆☆☆☆ -
盒子活跃会员
2015/9/7 18:23:24
9楼: TFDConnection设置丰富,但是网上资料极少。现在连接是正常了,但是打开的数据都是乱码?这个问题也搞了一整天,MySql应该没什么问题。
也不知道TFDConnection通过哪个参数来设置编码?

    X.Params.Values['CharacterSet'] := 'csUtf8';
    X.Params.Values['ServerCharSet'] := 'utf8';

没什么效果~~~
----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行410.1563毫秒 RSS