Мне дали ссылку на использование этой библиотеки для подключения через SSH-подключение к базе данных MySQL с C#.
Вот ССЫЛКАна библиотеку, так как многим из вас это будет интересно, так как вам не нужно открывать 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, а затем выполнить мой запрос?
Нужно ли помещать мой код в функции connectи disconnect?
Еще мне кажется, что я добавил .dllфайл внутри ссылок, и я должен сказать, что ни один из импортов не работает. Итак, может ли кто-нибудь загрузить библиотеку и попробовать этот простой код, чтобы увидеть, работают ли ссылки в вашем проекте, и чтобы каждый (а их много) мог иметь рабочее решение для своих будущих проектов?
РЕДАКТИРОВАТЬ:
Это мой код, который я пытался сделать позже. Мое соединение SSH теперь работает, нужно только объединить эти два, чтобы заставить его работать.
Проблема в том, что мне нужно иметь одну базу данных локально на моем компьютере и подключиться к серверу. Таким образом, перенаправление портов не будет работать, поскольку кто-то говорит на форуме, что я не могу перенаправлять порт, пока у 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();
}