【问题标题】:Unknown MYSQL server host 'ServerName'(11001)未知的 MYSQL 服务器主机 'ServerName' (11001)
【发布时间】:2018-04-20 06:31:25
【问题描述】:

我想尝试使用我的Delphi 应用程序与MySQLdatabase 连接。 我正在使用dbXpress 组件TSQLConnection

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

但是当我尝试使用代码时,我收到了错误 Unknown MYSQL server host 'ServerName'(11001)

我无法从谷歌叔叔那里得到正确的解决方案。

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

以下是我的代码。

      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;

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

提前致谢。

【问题讨论】:

  • 您似乎没有设置所有属性。查看here 的完整示例如何从代码中使用 mysql 设置 dbexpress

标签: mysql delphi dbexpress


【解决方案1】:

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';

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-30
    • 2016-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-27
    • 2018-08-30
    相关资源
    最近更新 更多