数据库连接问题

时间:2011-12-29 06:19:22

标签: c# mysql mysql-connector

我最近选择了C#编程,并希望从mySQL表中读取表格并在DataGridView控件中显示它们。这些表是使用PHP脚本生成的,我可以登录到我的数据库。在PHP中,我使用以下连接字符串:

@mysql_connect( '本地主机:3307', '根', 'password_string');

在C#中,我使用以下连接字符串:

string MyConString = @“Server = localhost; Database = database_name; User ID = root; Password = password_string”;

当我运行程序时,我在控制台中收到以下消息:

“拒绝访问用户'root'@'localhost'”

我尝试使用单引号,使用localhost:3307等对连接字符串进行无数次更改。我已经为root用户授予了权限,所以我不认为这是问题所在。我如何通过这个?我的连接器有问题吗?任何想法将不胜感激。

2 个答案:

答案 0 :(得分:0)

在PHP中,您将连接到非标准端口3307.您可以使用port=3307在.NET连接字符串中指定它:

string MyConString = @"Server=localhost;Database=database_name;User ID=root;Password=password_string;port=3307";

答案 1 :(得分:0)

这可能是由于PRIVILEGES可能是用户名没有必要的特权

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost'

其他原因可能是

这是不可能的,因为客户端总是使用套接字连接到“localhost”(这是默认主机)。对于成功连接,必须指定localhost + socket或127.0.0.1 + port的组合。

kimiko:〜#mysql -h127.0.0.1 -P3307 -ptest

kimiko:〜#mysql -S / path / to / mysql.sock -ptest