Устранение неполадок подключения к базе данных - PullRequest
0 голосов
/ 29 декабря 2011

Я недавно приступил к программированию на C # и надеюсь прочитать таблицы из таблиц mySQL и отобразить их в элементах управления DataGridView.Таблицы создаются с использованием сценариев PHP, и я могу войти в свою базу данных.В PHP я использую следующую строку подключения:

@ mysql_connect ('localhost: 3307', 'root', 'password_string');

В C # я использую следующую строку подключения:

string MyConString = @ "Server = localhost; База данных = database_name; ID пользователя = root; Password = password_string";

Когда я запускаю программу, я получаю следующее сообщение в консоли:

"Доступ запрещен для пользователя 'root' @ 'localhost'"

Я пытался внести бесчисленные изменения в строку подключения, используя одинарные кавычки, используя localhost: 3307 и т. Д. Iпредоставил привилегии для пользователя root, поэтому я не думаю, что это проблема.Как мне пройти это?Есть ли какая-то проблема с разъемом у меня.Любые идеи будут высоко оценены.

Ответы [ 2 ]

0 голосов
/ 29 декабря 2011

Это может произойти из-за привилегий, возможно, имя пользователя не имеет необходимых привилегий

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

0 голосов
/ 29 декабря 2011

В PHP вы подключаетесь к нестандартному порту 3307. Это можно указать в строке подключения .NET с помощью port=3307:

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