【发布时间】:2011-05-14 01:11:28
【问题描述】:
置顶更新:为置顶致歉;出于歇斯底里的原因,旧问题仍在下面,但情况已经改变。现在这更像是一个 Delphi 问题而不是 MySql 问题。
我发现从命令行我可以使用
访问远程 MySql 数据库mysql.exe -h 192.168.89.128 -u my_user -p
看来我已经正确设置了远程服务器。
但是,当我用
从 Delphi 尝试它时 AdoConnection.LoginPrompt:=False;//dont ask for the login parameters
AdoConnection.ConnectionString :=
Format(MYSQL_CONNECT_STRING,[ConfigurationForm.GetServerIpAddress() + ':3306',
DataBase,
ConfigurationForm.GetUserName(),
ConfigurationForm.GetPassword()]);
AdoConnection.Connected := True; //open the connection
它给出了一个
的 ConnectionStringDriver={MySQL ODBC 5.1 Driver};
Server=192.168.89.128:3306;
Database=mysql;User=my_user;
Password=my_password;Option=3;
我得到一个异常
"Unknown MySql server host '192.168.89.128:3306' (11004)"
我可以有 halpz 吗?
更新和回答:以防万一有人用谷歌搜索并找到这个。
问题出在我的连接字符串上。
当我应该单独指定它们时,我将端口附加到主机 Server=192.168.89.128:3306;,即 Server=192.168.89.128;Port=3306;,所以我的完整连接字符串是
Driver={MySQL ODBC 5.1 Driver};
Server=192.168.89.128;
Port=3306;
Database=mysql;
User=eLogger;
Password=bct_eLogger;
Option=3;
向那些找错树来试图帮助我的人道歉。我希望这反过来会帮助一些糟糕的 Delphi 编码器。另见http://delphi.about.com/od/mysql/qt/mysqladoconn.htm
【问题讨论】:
-
3306 端口是否被软件或硬件防火墙阻止?
-
一个很好的问题。但不幸的是,我太笨了,不知道如何检查。
标签: mysql delphi xampp mysql-management