Tôi đã được cung cấp một liên kết để sử dụng thư viện này để kết nối thông qua kết nối SSH tới cơ sở dữ liệu MySQL với C#.Kết nối SSH tới MySQL bằng cách sử dụng thư viện SSH.NET
Dưới đây là LINK vào thư viện vì rất nhiều bạn sẽ thấy điều này thú vị vì bạn không cần phải mở kênh SSH theo cách thủ công.
Đây là thư viện rất chi tiết và có nhiều tính năng nhưng những gì tôi muốn làm là khá đơn giản. Tôi chỉ muốn mở một kênh SSH mỗi lần tôi muốn ghi vào cơ sở dữ liệu.
Trong khi tôi đang tìm kiếm thông qua các nguồn được cung cấp tôi đã đưa ra cho phần này của các mã này có thể được tìm thấy trong TestSshCommand.cs và tôi nghĩ rằng tôi có thể sử dụng phần này cho các kết nối của tôi nhưng tôi cần sự giúp đỡ của bạn để làm cho nó hoạt động như tôi có chuỗi kết nối của tôi Tôi không biết làm thế nào để kết nối tất cả của nó.
Code:
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ã của tôi cho connectiong kênh phi SSH là:
con.ConnectionString = ConfigurationManager.ConnectionStrings["Con2"].ConnectionString;
con.Open();
cmd = new MySqlCommand("SELECT COUNT(*) FROM " + ConfigSettings.ReadSetting("main"), con);
//...... more of the code
Vì vậy, làm thế nào tôi có thể kết hợp mã này vào một ở trên để nó đầu tiên có thể mở một kênh SSH và sau đó thực hiện truy vấn của tôi?
Tôi có cần phải đặt mã của mình bên trong kết nối và ngắt kết nối các chức năng không?
Một người khác nghĩ rằng tôi có thêm tệp .dll bên trong tham chiếu và tôi phải nói rằng không có mục nhập nào đang hoạt động. Vì vậy, ai đó có thể vui lòng tải xuống thư viện và thử mã đơn giản này để xem liệu tài liệu tham khảo có đang hoạt động trên dự án của bạn không và để mọi người (có rất nhiều) có thể có giải pháp làm việc cho các dự án tương lai của họ?
EDIT:
Đây là mã của tôi mà tôi đang cố gắng thực hiện sau này. Kết nối SSH của tôi hoạt động bây giờ chỉ cần kết hợp hai thứ đó để nó hoạt động.
Vấn đề là tôi cần có một cơ sở dữ liệu cục bộ trên máy tính của mình và cần kết nối với máy chủ. Vì vậy, cổng chuyển tiếp sẽ không làm việc như somone nói trên diễn đàn này mà tôi có thể không cổng phía trước trong khi mysql đã có cổng để chạy
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();
}
Bạn có thể nên sử dụng thư viện để chuyển tiếp từ xa đến cổng cục bộ và sử dụng nó trong chuỗi kết nối của mình. – user629926