mysql - 未知的 MYSQL 服务器主机 'ServerName' (11001)

标签 mysql delphi dbexpress

我想尝试用我的 Delphi 应用程序连接 MySQL 数据库。 我正在使用 dbXpress 组件 TSQLConnection

当我尝试使用图形组件并测试它是否可以连接数据库时。 它与使用对象检查器选项有关。

但是当我尝试使用该代码时,我收到错误消息,显示为Unknown MYSQL server host 'ServerName'(11001)

我无法从 google uncle 那里得到正确的解决方案。

谁能告诉我我的代码有什么问题?

下面是我的代码。

      Conn := TSQLConnection.Create(nil);
  try
    conn.DriverName:= 'MySQL';
    conn.Params.Add('HostName=127.0.0.1');
    conn.Params.Add('Database=test1');
    conn.Params.Add('UserName=root');
    conn.Params.Add('Password=test');
    conn.LoginPrompt := false;
    try
    conn.Connected := true;
    ShowMessage('Database connected');
    Except
      on E:exception do
       ShowMessage(E.Message);
    end;
  finally
   if Conn.Connected then
     Conn.Connected :=  false;
   FreeAndNil(Conn);
  end;

如果需要更多信息,请告诉我。

提前致谢。

最佳答案

conn.Params 列表已经使用预先存在的值传播。因此你不应该.add()你的配置给它,而是改变当前的Params

所以,而不是使用

conn.Params.Add('HostName=127.0.0.1'); // wrong - should update, not add
conn.Params.Add('Database=test1'); // wrong - should update, not add
conn.Params.Add('UserName=root'); // wrong - should update, not add
conn.Params.Add('Password=test'); // wrong - should update, not add

使用

conn.Params.Values['HostName'] := '127.0.0.1';
conn.Params.Values['Database'] := 'test1';
conn.Params.Values['UserName'] := 'root';
conn.Params.Values['Password'] := 'test';

关于mysql - 未知的 MYSQL 服务器主机 'ServerName' (11001),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49935382/

相关文章:

vb.net - Delphi相当于VB的 "DirectCast"?

MySQL连接水平与垂直表

mysql - 在这种情况下如何进行高效的 SQL Select?

mysql - SQL 多表连接一对多关系

delphi - 如何确保 MAPI 客户端在启动时获得焦点?

mysql - Delphi DBX和MySQL连接噩梦: DBX Error: Driver could not be properly initialized

c# - 在 mysql 数据库中存储大文件/二进制数据 : when is it ok?

delphi - 从文件夹中读取无效文件名

delphi - TDataset 书签的有效期是多长时间?

oracle - 部署 dbexpress Delphi 应用程序