Dostałem link do korzystania z tej biblioteki do połączenia przez połączenie SSH z bazą danych MySQL za pomocą C#.Połączenie SSH z MySQL przy użyciu biblioteki SSH.NET
Oto biblioteka LINK, ponieważ wiele z nich okaże się interesująca, ponieważ nie trzeba ręcznie otwierać kanału SSH.
To jest bardzo szczegółowa biblioteka i ma wiele funkcji, ale to, co chcę zrobić, jest całkiem proste. Chcę tylko otworzyć kanał SSH za każdym razem, gdy chcę pisać do bazy danych.
Podczas gdy szukałem przez źródło, które jest przewidziane wpadłem do tej części kodu, które można znaleźć w TestSshCommand.cs i myślę, że mogę wykorzystać tę część moich połączeń, ale potrzebuję twojej pomocy działaj tak, jak mam ciąg połączenia, nie wiem jak to wszystko połączyć.
Kod:
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);
}
Mój kod connectiong nieprzestrzegania kanału ssh:
con.ConnectionString = ConfigurationManager.ConnectionStrings["Con2"].ConnectionString;
con.Open();
cmd = new MySqlCommand("SELECT COUNT(*) FROM " + ConfigSettings.ReadSetting("main"), con);
//...... more of the code
Więc jak mogę połączyć ten kod do powyższego więc może najpierw otworzyć kanał SSH i następnie wykonać moje zapytanie?
Czy muszę umieścić mój kod wewnątrz połączyć i rozłączyć funkcje?
Jeszcze jedno myślę, że dodałem wewnątrz pliku referencje .dll i muszę powiedzieć, że żaden z importów nie działa. Czy ktoś może pobrać bibliotekę i wypróbować ten prosty kod, aby sprawdzić, czy referencje pracują nad twoim projektem i aby każdy (który ma dużo) mógł mieć działające rozwiązanie dla swoich przyszłych projektów?
EDIT:
To jest mój kod, który starałem się zrobić później. Moje połączenie SSH działa teraz tylko połączyć te dwa, aby to działało.
Problem polega na tym, że potrzebuję mieć lokalnie jedną bazę danych na moim komputerze i muszę połączyć się z serwerem. Tak więc port forwarding nie będzie działać jak ktoś napisał na forum mówi, że nie mogę portu przodu podczas mysql już port działa
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();
}
Prawdopodobnie powinieneś użyć biblioteki do przekazania zdalnego do lokalnego portu i użyć tego w swoim tekście połączenia. – user629926