我被給了一個鏈接來使用此庫通過SSH連接到使用C#的MySQL數據庫進行連接。使用SSH.NET庫連接到MySQL的SSH連接
這是圖書館的LINK,因爲您不需要手動打開SSH通道,因此您會發現很多有趣的內容。
這是一個非常詳細的圖書館,有很多功能,但我想要做的很簡單。每次我想要寫入數據庫時,我只想打開一個SSH通道。
雖然我是通過提供我來到了這部分的代碼可以在TestSshCommand.cs找到源搜索,我想我可以用這部分我的連接,但我需要你的幫助來得到它的工作,因爲我有我的連接字符串我不知道如何連接它的所有。
代碼:
public void Test_Execute_SingleCommand()
{
using (var client = new SshClient(Resources.HOST, Resources.USERNAME, Resources.PASSWORD))
{
client.Connect();
var result = ExecuteTestCommand(client);
client.Disconnect();
Assert.IsTrue(result);
}
我的接法非SSH的信道碼是:
con.ConnectionString = ConfigurationManager.ConnectionStrings["Con2"].ConnectionString;
con.Open();
cmd = new MySqlCommand("SELECT COUNT(*) FROM " + ConfigSettings.ReadSetting("main"), con);
//...... more of the code
那麼,如何可以驗證碼結合起來,上面一個,這樣它可以先打開一個SSH通道和然後執行我的查詢?
是否需要將我的代碼放入連接和斷開函數?
還有一種想法我在文件裏面添加了.dll文件,我必須說沒有任何導入工作。那麼是否有人可以下載庫並嘗試使用這個簡單的代碼來查看引用是否適用於您的項目,以便每個人(很多人)都可以爲他們未來的項目提供工作解決方案?
編輯:
這是我的代碼,我試圖做以後。我的SSH連接現在只需要將這兩者結合起來就可以工作。
問題是我需要在本地PC上有一個數據庫,並且需要連接到服務器。因此,端口轉發,不會因爲有人爲工作說在論壇上,我不能端口轉發,而MySQL的已經有端口運行
using (var client = new SshClient("cpanel****", "******", "******"))
{
client.Connect();
con = new MySqlConnection(GetConnectionString());
con.Open();
cmd = new MySqlCommand(String.Format("insert into {0} values (null, ?Parname , ?Parname2, ?Parname3, ?Parname4, ?Parname5, ?Parname6, ?Parname7);", ConfigSettings.ReadSetting("main")), con);
cmd.Parameters.Add("?Parname", MySqlDbType.Double).Value = Math.Round(deciLat, 5);
// ... more parameters
cmd.ExecuteNonQuery();
client.Disconnect();
}
您可能應該使用庫將遠程本地端口轉發並在連接字符串中使用該端口。 – user629926