数据库链接测试
2015-12-20 10:02:35 访问(1380) 赞(0) 踩(0)
相关下载:SlowX.DBConnectionTestApp[code] SlowX.DBConnectionTestApp[release] 百度网盘
-

-
/// <summary>
/// _SqlServer
/// </summary>
const string _SqlServer = "SqlServer";
/// <summary>
/// _Oracle
/// </summary>
const string _Oracle = "Oracle";
/// <summary>
/// _Access
/// </summary>
const string _Access = "_Access";
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void toolStripButton_测试链接_Click(object sender, EventArgs e)
{
label_Result.Text = "";
DBOperHelper dh = DBOperHelper.instance;
string dbConnectionString = cbb_dbConnectionString.Text.Trim();
if (dbConnectionString.Length == 0)
{
MessageBox.Show("请输入数据库链接串。");
return;
}
string strDBType = GetDBTypeCheck();
if (strDBType == null || strDBType.Length == 0)
{
MessageBox.Show("请选择数据库类型。");
return;
}
MainDataSource = dh.InsertOrUpdateDBConnItem
(
MainDataSource,
dbConnectionString,
strDBType
);
try
{
string theResult = null;
switch (strDBType)
{
case _Oracle:
theResult = OracleConnTest(dbConnectionString);
break;
case _SqlServer:
theResult = SqlServerConnTest(dbConnectionString);
break;
case _Access:
theResult = AccessConnTest(dbConnectionString);
break;
}
if (theResult == null)
{
label_Result.Text = "";
}
else
{
if (theResult.StartsWith("-"))
{
label_Result.Text = theResult.Substring(1);
label_Result.ForeColor = System.Drawing.Color.Red;
}
else
{
label_Result.Text = theResult;
label_Result.ForeColor = System.Drawing.Color.Blue;
}
}
}
catch (Exception err)
{
MessageBox.Show(err.Message);
}
}
/// <summary>
///
/// </summary>
/// <param name="dbConnectionString"></param>
/// <returns></returns>
protected string SqlServerConnTest(string dbConnectionString)
{
string theResult = null;
SqlConnection conn = null;
SqlCommand cmd = null;
try
{
conn = new SqlConnection(dbConnectionString);
conn.Open();
cmd = new SqlCommand();
cmd.CommandText = "select getdate() as retValue ";
cmd.CommandType = CommandType.Text;
cmd.Connection = conn;
object obj = cmd.ExecuteScalar();
if (obj != null)
{
theResult = "连接成功,当前数据库时间为:" + obj.ToString();
}
else
{
theResult = "连接成功";
}
}
catch (Exception err)
{
theResult = "-连接失败,发生异常:" + err.Message;
}
finally
{
if (cmd != null)
{
cmd.Parameters.Clear();
cmd.Dispose();
cmd = null;
}
if (conn != null)
{
if (conn.State != ConnectionState.Closed)
{
conn.Close();
}
conn.Dispose();
conn = null;
}
}
return theResult;
}
/// <summary>
/// 测试Access数据库连接
/// </summary>
/// <param name="dbConnectionString"></param>
/// <returns></returns>
protected string AccessConnTest(string dbConnectionString)
{
string theResult = null;
OleDbConnection conn = null;
OleDbCommand cmd = null;
try
{
conn = new OleDbConnection(dbConnectionString);
conn.Open();
cmd = new OleDbCommand();
cmd.CommandText = "select now() as retValue ";
cmd.CommandType = CommandType.Text;
cmd.Connection = conn;
object obj = cmd.ExecuteScalar();
if (obj != null)
{
theResult = "连接成功,当前数据库时间为:" + obj.ToString();
}
else
{
theResult = "连接成功";
}
}
catch (Exception err)
{
theResult = "-连接失败,发生异常:" + err.Message;
}
finally
{
if (cmd != null)
{
cmd.Parameters.Clear();
cmd.Dispose();
cmd = null;
}
if (conn != null)
{
if (conn.State != ConnectionState.Closed)
{
conn.Close();
}
conn.Dispose();
conn = null;
}
}
return theResult;
}
/// <summary>
/// 测试Oracle的链接
/// </summary>
/// <param name="dbConnectionString"></param>
/// <returns></returns>
protected string OracleConnTest(string dbConnectionString)
{
string theResult = null;
OracleConnection conn = null;
OracleCommand cmd = null;
try
{
conn = new OracleConnection(dbConnectionString);
conn.Open();
cmd = new OracleCommand();
cmd.CommandText = "select sysdate as retValue from sys.dual ";
cmd.CommandType = CommandType.Text;
cmd.Connection = conn;
object obj = cmd.ExecuteScalar();
if (obj != null)
{
theResult = "连接成功,当前数据库时间为:" + obj.ToString();
}
else
{
theResult = "连接成功";
}
}
catch (Exception err)
{
theResult = "-连接失败,发生异常:" + err.Message;
}
finally
{
if (cmd != null)
{
cmd.Parameters.Clear();
cmd.Dispose();
cmd = null;
}
if (conn != null)
{
if (conn.State != ConnectionState.Closed)
{
conn.Close();
}
conn.Dispose();
conn = null;
}
}
return theResult;
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void toolStripButton_复制错误提示_Click(object sender, EventArgs e)
{
Clipboard.SetDataObject(label_Result.Text);
}
标签:
数据库链接测试 


上一条:
下一条:
相关评论
发表评论