1.oracle数据库连接:
下载Oracle.ManagedDataAccess.dll并引入自己的项目
连接字符串
connectionString=Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=IP地址)(PORT=端口号))(CONNECT_DATA=(SERVICE_NAME=服务名称)));User Id=用户名称;Password=用户密码
数据库连接代码:
/// <summary>
/// 执行SQL语句,返回影响的记录数
/// </summary>
/// <param name="SQLString">SQL语句</param>
/// <returns>影响的记录数</returns>
public int ExecuteSql(string SQLString)
{
using (OracleConnection connection = new OracleConnection(ConnectionString()))
{
using (OracleCommand cmd = new OracleCommand(SQLString, connection))
{
cmd.CommandTimeout = 180;
connection.Open();
int rows = cmd.ExecuteNonQuery();
connection.Close();
return rows;
}
}
}
/// <summary>
/// 执行一条查询返回datatable
/// </summary>
/// <param name="SQLString"></param>
/// <returns></returns>
public DataTable Queryx(string SQLString)
{
using (OracleConnection connection = new OracleConnection(ConnectionString()))
{
using (OracleDataAdapter command = new OracleDataAdapter(SQLString, connection))
{
DataSet ds = new DataSet();
connection.Open();
command.Fill(ds, "ds");
connection.Close();
return ds.Tables["ds"];
}
}
}
2.sqlserver数据库连接:
引入System.Data.SqlClient到自己的项目中
连接字符串:
server=数据库IP地址,端口;database=数据库名称;User Id=用户名称;Password=用户密码
数据库连接代码:
/// <summary>
/// 执行SQL语句,返回影响的记录数
/// </summary>
/// <param name="SQLString">SQL语句</param>
/// <returns>影响的记录数</returns>
public int ExecuteSql(string SQLString)
{
using (SqlConnection connection = new SqlConnection(ConnectionString()))
{
using (SqlCommand cmd = new SqlCommand(SQLString, connection))
{
cmd.CommandTimeout = 180;
connection.Open();
int rows = cmd.ExecuteNonQuery();
connection.Close();
return rows;
}
}
}
/// <summary>
/// 执行一条查询返回datatable
/// </summary>
/// <param name="SQLString"></param>
/// <returns></returns>
public DataTable Queryx(string SQLString)
{
using (SqlConnection connection = new SqlConnection(ConnectionString()))
{
using (SqlDataAdapter command = new SqlDataAdapter(SQLString, connection))
{
DataSet ds = new DataSet();
connection.Open();
command.Fill(ds, "ds");
connection.Close();
return ds.Tables["ds"];
}
}
}
3.mysql数据库连接(以ssh的方式进行连接)
下载 Renci.SshNet.dll 与MySql.Data.dll并引入自己的项目
数据库连接代码:
public int ExecuteSql(string SQLString)
{
int rows = 0;
string SSHHost = "SSH地址"; // SSH地址
int SSHPort = SSH端口; // SSH端口
string SSHUser = "SSH用户名"; // SSH用户名
string SSHPassword = "******"; // SSH密码
string sqlIPA = "127.0.0.1";// 映射地址 实际上也可以写其它的 Linux上的MySql的my.cnf bind-address 可以设成0.0.0.0 或者不设置
string sqlHost = "mysql安装的机器IP"; // mysql安装的机器IP 也可以是内网IP 比如:192.168.1.20
uint sqlport = 数据库端口及映射端口; // 数据库端口及映射端口
string sqlConn = "Database=dxbase;Data Source=" + sqlIPA + ";Port=" + sqlport + ";User Id=dxbase;Password=dxbase;CharSet=utf8";
PasswordConnectionInfo connectionInfo = new PasswordConnectionInfo(SSHHost, SSHPort, SSHUser, SSHPassword);
connectionInfo.Timeout = TimeSpan.FromSeconds(30);
using (var client = new SshClient(connectionInfo))
{
client.Connect();
var portFwdL = new ForwardedPortLocal(sqlIPA, sqlport, sqlHost, sqlport); //映射到本地端口
client.AddForwardedPort(portFwdL);
portFwdL.Start();
using (MySqlConnection connection = new MySqlConnection(sqlConn))
{
using (MySqlCommand cmd = new MySqlCommand(SQLString, connection))
{
try
{
cmd.CommandTimeout = 180;
connection.Open();
rows = cmd.ExecuteNonQuery();
connection.Close();
}
catch (Exception e)
{
}
}
}
client.Disconnect();
}
return rows;
}