Delphi中使用的最佳数据感知组件 - MySQL

3
我需要我的应用程序连接到我的Web服务器的MySQL数据库,最好的选择是什么?首选数据感知组件。
我尝试了zeos 7,但是我一直收到错误消息:“SQL错误:客户端不支持服务器请求的身份验证协议;请考虑升级MySQL客户端”,而且一直无法解决它。
谢谢, -Brad
5个回答

8
@Brad,ZEOS组件是连接MySQL的一个很好的替代方案,你之前遇到的错误是因为你使用的是较旧版本的MySQL客户端。MySql 4.1引入了一种新的密码哈希算法,为了解决这个问题,你有两个选择。

1)将你的MySQL客户端更改为使用4.1.1或更新的客户端库。

2)使用OLD_PASSWORD函数

你必须在你的mysql服务器上运行这个脚本。

SET PASSWORD FOR 'user' = OLD_PASSWORD('password');
FLUSH PRIVILEGES;

请查看此链接以获取更多信息:

MySQL中的密码哈希


我在哪里可以获取新的客户端库?我已经下载了mysql-connector等等,但是没有起作用。 - Brad
4
请检查此链接:http://dev.mysql.com/get/Downloads/Connector-PHP/php_5.2.0_mysqli_5.0.27-win32.zip/from/pick#mirrors。该库名为libmysql.dll。 - RRUZ

6
尝试使用AnyDAC,它为MySQL提供了强大的支持,同时还支持其他DBMS。其主要特点包括:
  • 高速。
  • 常规和嵌入式服务器。
  • SSL连接。
  • 全范围数据类型,包括ENUM、SET。
  • UTF8和ANSI字符编码。
  • AUTO_INCREMENT列。
  • 完全支持MySQL 5存储过程。
  • 批处理命令,带有多个结果集。
  • 查询执行中止。

1
+1 对我非常有效。这个(少量的)钱非常值得 - 而且你们提供了令人难以置信的支持! - Mawg says reinstate Monica

2
我不确定这是否是最好的方法,但我曾在过去的许多Delphi项目中成功地使用ADO组件(TADOQuery,TADOConnection...请查看dbGo面板)连接到MySQL。它是“免费”的,因为它已经与Delphi捆绑在一起。
另外需要注意的是,您的Web主机必须允许“外部”连接(而不仅仅是通过“localhost”)到他们的MySQL服务器。
还有一个价格不到300美元的MicroOLAP MySQL Delphi直接访问组件

1

我建议使用Devart(以前称为Core Lab)的MyDac

此外,还可以查看他们的UniDac解决方案,适用于多个数据库。


1

从您的消息标签中我猜测您正在使用Delphi 2009。DbExpress已经发展了很长时间,并且随Delphi一起提供。现在网络上对它有很多支持。如果您没有使用Delphi 2009,自版本6以来就可以使用DbX。

我认为Delphi 2009版本的DbX支持MySQL 5.0。如果不支持,您需要更新的DbX驱动程序。您可以在此处获取开源驱动程序。

http://www.justsoftwaresolutions.co.uk/delphi/dbexpress_and_mysql_5.html


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接