我在这里搜索但没有看到答案。
我正在使用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访问被拒绝 user'username@00.00.00.00'(使用passworkd:YES)'。
为什么代码方法会导致错误?
感谢您的帮助和耐心。
答案 0 :(得分: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;