2016-09-09 75 views
2

我剛剛開始使用我的Raspberry Pi創建一個新項目。 我已經設置了MySQL數據庫(與IPadress/phpMyAdmin的作品連接) 現在我想包括在我的C#項目中的數據庫,但是當我運行它,我得到無法從我的try/catch連接消息。問題在哪裏? 我知道這可能聽起來很愚蠢,但我實際上被卡住了。通過C#Windows窗體程序的Raspberry PI 2連接上的MySql數據庫

using MySql.Data.MySqlClient; 

namespace MyRecipe 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void Form1_Load(object sender, EventArgs e) 
     { 
      string connetionString = null; 
      MySqlConnection cnn; 
      connetionString = "server='IP-RaspberryPI';database=recipe;uid=recipe;pwd=secret;"; 
      cnn = new MySqlConnection(connetionString); 
      try 
      { 
       cnn.Open(); 
       MessageBox.Show("Connection Open ! "); 
       cnn.Close(); 
      } 
      catch (Exception ex) 
      { 
       MessageBox.Show("Can not open connection ! "); 
      } 
     } 
    } 
} 
+0

看在我的答案IM相當積極的,你的用戶沒有正確的權限,所以你需要通過SSH –

+0

來瞬移到你的PI阿爾斯改變你的MessageBox錯誤 MessageB ox.Show(「Error Message:」+ ex.Message); 所以,你能告訴我們真正的錯誤 –

回答

0

您需要做的第一件事就是評估您的異常。

更改catch語句來像

MessageBox.Show("My exception says: " + ex.Message);

+0

它說:無法連接到任何指定的MySQL主機。 – CHRIS962253

0

是否配置mysql的監聽的是少年的IP地址電話,或者只是本地主機?假設你的Pi有一個靜態IP地址,而不是一個動態IP地址。

0

嘗試字符串:

"server=192.168.x.x;uid=recipe;" + "pwd=secret;database=recipe" 

否則它必須是你的路由器上的端口打開端口2083,或者其可能是你的用戶對你的樹莓派沒有權限

做到這一點SSH

連接到MySQL的:mysql -u根-p

CREATE USER 'recipenew' @'祿被'祕密'識別的'alhost'; GRANT ALL PRIVILEGES ON TO 'recipenew' @ 'localhost' 的 WITH GRANT OPTION

我幾乎可以肯定,你的用戶沒有正確的權限

,然後更改字符串:

"server=192.168.x.x;uid=recipe;pwd=secret;database=recipe"