给出SqlServer的服务名或IP,还有用户名密码如果只是用户名密码错误,瞬间就能返回错误信息而如果输入了一个不存在的SqlServer的话就要等好久啊....我是这么做的
sqlconn = "server=" + SimHA.DatabaseServer + ";uid=" + SimHA.DatabaseUsername + ";pwd=" + SimHA.DatabasePass + ";"; SqlConnection conn = new SqlConnection(sqlconn);
try
{
conn.Open();
}
catch (Exception err)
{
MessageBox.Show("数据库连接失败:" + err.Message, "错误:", MessageBoxButtons.OK, MessageBoxIcon.Error);
conn.Close();
return false;
}
sqlconn = "server=" + SimHA.DatabaseServer + ";uid=" + SimHA.DatabaseUsername + ";pwd=" + SimHA.DatabasePass + ";"; SqlConnection conn = new SqlConnection(sqlconn);
try
{
conn.Open();
}
catch (Exception err)
{
MessageBox.Show("数据库连接失败:" + err.Message, "错误:", MessageBoxButtons.OK, MessageBoxIcon.Error);
conn.Close();
return false;
}
解决方案 »
- ajax timer 定时刷新一段时间后不刷新数据了
- C#中如何实现把泛型集合dictionary<k,v>的数据绑定到listview控件中
- Wrox Beginning Visual C# 2010
- 帮我看看错误哈
- 关于DataTableMapping:手动构造一个DataSet之后(包含其DataTable,DataColumn)没有映射,直接fill....
- C#MSComm接收不到完整的数据
- 关于SQL Server创建表的SQL语句语法问题
- 关于动态添加菜单,如何触发菜单事件的问题,请高手指点!!
- c# 安装包多次安装
- 请问为什么timer没起到间隔的效果
- 垃圾回收机制 内存泄漏
- 控件位置问题
Connect Timeout=3
Connet Timeout短一点,连一次;以后真正执行的时候再改长一点。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Threading;
using System.Data.SqlClient;namespace WindowsApplication3
{
public partial class Form1 : Form
{
bool Return=true;
AutoResetEvent sleepSynchro = new AutoResetEvent(false);
Exception err = null;
public Form1()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
Thread controlThread = new Thread(new ThreadStart(test));
controlThread.Start();
if (!sleepSynchro.WaitOne(3000, false))
{
MessageBox.Show("数据库连接超时.", "错误:", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else if (!Return)
{
MessageBox.Show("数据库连接失败:" + err.Message, "错误:", MessageBoxButtons.OK, MessageBoxIcon.Error); }
}
void test()
{
string sqlconn = @"Data Source=3.0.0.0;Initial Catalog=eDocument;Integrated Security=True"; SqlConnection conn = new SqlConnection(sqlconn);
try
{
conn.Open();
Return = true;
}
catch (Exception e)
{
Return = false;
err = e;
}
finally
{
conn.Close();
sleepSynchro.Set();
} }
}
}