1

我在这里搜索但没有看到答案。

我正在使用Delphi2010。我使用 Devart Mydac 连接到 mySql 数据库。当我设置服务器、数据库、名称、传递组件时,它连接没问题。

但是,当我尝试仅使用代码连接时,它会出错。

begin
    MyConnection1.Server:='MyServer';
    MyConnection1.Database:='MyDatabase';
    MyConnection1.Username:='MyUserName';
    MyConnection1.Password:='MyPassword';
    MyConnection1.Connected:= True;
    MyQuery1.Active:= True;
end;   

带有消息的异常类 EMySalExcption“#28000 用户'username@00.00.00.00'(使用密码:YES)'的访问被拒绝。

为什么code方法会报错?

感谢您的帮助和耐心。

4

1 回答 1

2

我会发表评论,但我认为我还没有能力发表评论。但我同意 Marco,我对这种语言或产品没有经验,但我想知道,数据库是否在远程机器上?首先尝试将服务器设置为 IP 并查看是否有效。

我在网上找到了这个配置并删除了一些东西以进入核心

begin
  MyConnection1.LoginPrompt := false;
  MyConnection1.Username := 'test';
  MyConnection1.Password := 'test';
  MyConnection1.Database := 'test';
  MyConnection1.Server := '127.0.0.1';
  MyConnection1.Port := 3306;
  MyConnection1.Connect;
end;

我注意到的一件事是它禁用了 LoginPrompt,而你没有,它也有一个端口。我会尝试设置 ip 和端口号,如果可行,则尝试仅设置端口号。如果这些都不起作用,请尝试此处的完整实现,然后将其取出并将服务器设置回主机名

begin
  MyConnection1.Pooling := true;
  MyConnection1.PoolingOptions.MinPoolSize := 1;
  MyConnection1.LoginPrompt := false;
  MyConnection1.Options.Charset := 'utf8';
  MyConnection1.Options.Direct := true;
  MyConnection1.Options.UseUnicode := true;
  MyConnection1.Username := 'test';
  MyConnection1.Password := 'test';
  MyConnection1.Database := 'test';
  MyConnection1.Server := '127.0.0.1';
  MyConnection1.Port := 3306;
  MyConnection1.Connect;
end;

引用自http://forums.devart.com/viewtopic.php?t=12035

于 2012-05-08T02:59:18.043 回答