2013-07-17 68 views
1

我一直在嘗試將C#WPF應用程序連接到MySQL數據庫。數據庫位於我的網絡中的Linux機器上。我有很多與PHP連接的經驗,但從未使用過.NET產品。我已閱讀了我在網上找到的所有內容。我已經下載並安裝了MySQL連接,並將其附加到項目中。我已經進入了數據庫,並確保它會接受來自我的工作電腦使用phpMyAdmin的查詢。我嘗試了各種各樣的代碼來調用數據庫。我改變了connStr中所有內容的順序。我改變了標籤和格式來嘗試我遇到的一切。我能夠連接到數據庫與所有基於網絡的工具綁定到這個應用程序,所以我知道我有正確的信息。我從來沒有在這裏發佈,所以我很抱歉的格式。我讀過的所有內容都讓這個聲音變得非常簡單。我和我目前正在使用此:從WPF應用程序連接到MySQL數據庫

string connStr = "user=admin;database=test;server=192.168.0.37;password=******;";    MySqlConnection conn = new MySqlConnection(connStr);    
try    
{     
Console.WriteLine("Trying to connect to: ..." + connStr);     Console.WriteLine("Connecting to MySQL...");     
conn.Open();     
// Perform database operations    
}    
catch (Exception ex)    
{     
Console.WriteLine(ex.ToString());    
}    
conn.Close();    
Console.WriteLine("Done."); 

和我收到此錯誤:

Test.vshost.exe Error: 0 : Unable to connect to any of the specified MySQL hosts. 
A first chance exception of type 'MySql.Data.MySqlClient.MySqlException' occurred in MySql.Data.dll 
MySql.Data.MySqlClient.MySqlException (0x80004005): Unable to connect to any of the specified MySQL hosts. 
    at MySql.Data.MySqlClient.NativeDriver.Open()... 

感謝您對這個幫助!

+0

我想我找到了問題。我也無法連接Mysql工作臺,最終使用SSH隧道並使其工作。現在我正在編寫代碼以嘗試讓.NET使用SSH隧道。一旦我開始使用外部非現場服務器,我不應該有這個問題 – flurp

回答

3

當您嘗試使用基本調制解調器/路由器聯繫家庭網絡中的服務器時,它可能無法識別或傳遞您發送的端口號。在這種情況下,它不識別或發送3306(默認爲mysql)。這將使它無法在沒有SSH隧道的情況下工作。在添加SSH隧道後,它按照廣告的方式工作。

相關問題