2011-07-12 59 views
1

我在通過C#代碼連接到我的SQL數據庫時遇到了一些問題。我可以使用Putty連接到它,並且我連接的服務器位於德國,我在英國。將Putty登錄憑證轉換爲C#MySqlConnection連接字符串

當我使用膩子我使用這些憑據:

Host Name: 
sample-intra.net 

Port: 
2223 

,然後使用打開I型

login as: my_username 
password: my_password 

那麼一旦訪問被授予我的窗口中登錄類型:

mysql -h localhost -u root -p 

然後當詢問輸入密碼時我輸入

my_password 

再一次。

這工作正常,我可以訪問我的數據庫(稱爲SampleDB)罰款,並訪問所有的表,但我無法將它轉換爲我可以用於SqlConnection對象的C#連接字符串。如果有人能夠根據上述憑據向我提供連接字符串,我將非常感激。

非常感謝

回答

1

因爲你第一次用膩子連接到SSH到你的服務器,然後運行命令mysql連接時,就好像你身體坐在服務器的控制檯。換句話說,你使用地址「localhost」連接到你的mysql實例,因爲你確實已經在那臺機器上了。

有兩兩件事你可以做這裏來解決你的問題:

  1. Make an SSH tunnel in PuTTY,並通過它連接到你的MySQL 實例。
  2. Enable remote access in your MySQL server for connections from your desktop machine's IP address

選項一更安全。

+0

感謝您的回答。 SSH隧道方法是我所建議的,但我不太清楚如何在我的C#代碼中使用它。 – ComethTheNerd

+1

@Greenhouse - 它與你的C#代碼是分開的。這是你在服務器上設置的東西。 –

+1

@Greenhouse - 一旦您的SSH隧道設置在C#代碼中,您將連接到本地主機而不是您的實際地址。該端口將是您在ssh隧道中配置的任何端口(可能與遠程端口相同,或者如果您已經有本地服務正在運行,那麼只需一個端口即可) - –