2011-12-29 84 views
0

我最近選擇了C#編程,希望從mySQL表中讀取表並在DataGridView控件中顯示它們。這些表格使用PHP腳本生成,我可以登錄到我的數據庫。在PHP中,我使用以下連接字符串:數據庫連接故障排除

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

在C#,我使用下面的連接字符串:

串MyConString = @ 「服務器=本地主機;數據庫= DATABASE_NAME;用戶ID =根;密碼= password_string」;

當我運行該程序,我在控制檯收到以下消息:

「訪問被拒絕的用戶‘根’@‘localhost’的」

我試圖使該連接變化無窮字符串通過使用單引號,使用本地主機:3307等。我已經授予用戶root權限,所以我不認爲這是問題。我如何克服這個問題?我有連接器有問題嗎?任何想法將不勝感激。

+0

檢查您的密碼。你可能有密碼錯誤。 – DarthVader 2011-12-29 06:21:58

回答

0

在PHP中要連接到非標準端口3307,您可以在.NET連接字符串與port=3307指定此:

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

解決了它 - 非常感謝! – user1120540 2011-12-30 02:42:05

+0

非常歡迎。你有沒有考慮接受答案? – 2011-12-30 08:32:03

0

這可能是由於特權可以是用戶名do'nt有所需的權限

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

其他原因可能是

這不是possi因爲客戶端總是使用套接字連接到「本地主機」(這是默認主機)。對於成功的連接,必須指定localhost + socket或127.0.0.1 +端口的組合。

伊達公子:〜#mysql的-h127.0.0.1 -P3307 -ptest

伊達公子:〜#的mysql-S /路徑/到/的mysql.sock -ptest