C#远程连MYSQL数据库服务器

需要这3个DLL

MySql.Data.dll

MySQLDriverCS.dll

Renci.SshNet.dll

-------------------------------------------------------------------

using MySql.Data.MySqlClient;
using MySQLDriverCS;
using Renci.SshNet;

--------------------------------------------------------------------

using System;

using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; using System.Configuration; using System.IO; using System.Runtime.InteropServices; using MySql.Data.MySqlClient; using MySQLDriverCS; using Renci.SshNet; using System.Web; using System.Net; namespace test {     public partial class Form1 : Form     {         //嘿嘿,项目上右击,添加引用,在.net选项卡里面,System.Configuration         public static string connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;         byte[] dat = null;         string b = "";         string fileName = "";         string weixin = "";         public Form1()         {             InitializeComponent();             SSHConnectMySql();         }         public void SSHConnectMySql()         {             string SSHHost = "110.33.201.103";        // SSH地址,也就是服务器IP地址             int SSHPort = 22;              // SSH端口,一般默认22             string SSHUser = "root";           // SSH用户名             string SSHPassword = "123";           // SSH密码,这里的密码123是登陆服务器密码             string sqlIPA = "127.0.0.1";// 映射地址  实际上也可以写其它的   Linux上的MySql的my.cnf bind-address 可以设成0.0.0.0 或者不设置             string sqlHost = "127.0.0.1"; // mysql安装的机器IP 也可以是内网IP 比如:192.168.1.20             uint sqlport = 3306;        // 数据库端口及映射端口,一般默认3306             string sqlConn = "Database=shops;Data Source=" + sqlIPA + ";Port=" + sqlport + ";User Id=root;Password=root;CharSet=utf8";//这里的密码root是登陆数据库密码             string sqlSELECT = "select * from user where uid=248 ";             PasswordConnectionInfo connectionInfo = new PasswordConnectionInfo(SSHHost, SSHPort, SSHUser, SSHPassword);             connectionInfo.Timeout = TimeSpan.FromSeconds(30);             using (var client = new SshClient(connectionInfo))             {                 try                 {                     client.Connect();                     if (!client.IsConnected)                     {                         MessageBox.Show("SSH 链接失败");                     }                     var portFwdL = new ForwardedPortLocal(sqlIPA, sqlport, sqlHost, sqlport); //映射到本地端口                     client.AddForwardedPort(portFwdL);                     portFwdL.Start();                     if (!client.IsConnected)                     {                         MessageBox.Show("端口错误");                     }                     MySqlConnection conn = new MySqlConnection(sqlConn);                     MySqlDataAdapter myDataAdapter = new MySqlDataAdapter();                     myDataAdapter.SelectCommand = new MySqlCommand(sqlSELECT, conn);                     try                     {                         conn.Open();                         DataSet ds = new DataSet();                         myDataAdapter.Fill(ds);                         if (ds.Tables[0].Rows.Count > 0)                         {                             //dat = (byte[])dr["datFile"];                             fileName = ds.Tables[0].Rows[0]["cer_avatar"].ToString();                             weixin = ds.Tables[0].Rows[0]["avatar"].ToString();                             fileName = "http://wx.qlogo.cn/mmopen/vi_32/Q0j4TwGTfTKPoje4X1mKC5vqKhJoamPsnvQxRia3iaWIoDTot7s1bLuZVqTKiaXeP1k22jvxuzGQjMn5vregZ/0";                                                         //using System.Web;                             //using System.Net;                             Bitmap img = null;                             HttpWebRequest req;                             HttpWebResponse res = null;                             System.Uri httpUrl = new System.Uri(weixin);                             req = (HttpWebRequest)(WebRequest.Create(httpUrl));                             req.Timeout = 180000; //设置超时值10秒                             req.UserAgent = "XXXXX";                             req.Accept = "XXXXXX";                             req.Method = "GET";                             res = (HttpWebResponse)(req.GetResponse());                             img = new Bitmap(res.GetResponseStream());//获取图片流                                             //img.Save(@"E:/" + DateTime.Now.ToFileTime().ToString() + ".png");//随机名                             pictureBox1.Image = new Bitmap(img);                             //byte[] featureArray = checkAndMarkFace(this.pictureBox1.Image);                         }                     }                     catch (Exception ee)                     {                         MessageBox.Show(ee.Message);                     }                     finally                     {                         conn.Close();                     }                     client.Disconnect();                 }                 catch (Exception ex)                 {                     MessageBox.Show(ex.Message);                 }             }         }     } }
相关文章

相关标签/搜索