SQL Server:失去连接后重新连接
本文关键字:重新连接 连接 失去 Server SQL | 更新日期: 2023-09-27 18:32:05
我想要打开WPF程序,然后SQL Server数据库关闭,当数据库重新联机时,WPF应该自动连接到数据库。如果我重新启动SQL Server,请保持活动程序并尝试连接到数据库,直到连接可用。我应该捕获异常然后重复某些内容吗?
我尝试重新启动应用程序,然后出现异常,但无论如何我的程序崩溃并停止工作。
using (SqlConnection connection = new SqlConnection(connectionString))
{
try
{
connection.Open();
}
catch (SqlException ex)
{
//how stop crash? //
//System.Windows.Forms.Application.Restart();
return ex.ToString();
}
finally
{
connection.Close();
}
}
要做的是将整个应用程序的连接创建集中在单个静态方法中。
public static SqlConnection getConnection()
{
string conn = string.Empty;
conn = System.Configuration.ConfigurationManager.ConnectionStrings["quality"].ConnectionString;
SqlConnection aConnection = new SqlConnection(conn);
return aConnection;
}
在您的代码中,每次使用连接时都尝试以下操作:
public int test()
{
SqlConnection conn = null;
try
{
try
{
conn = StaticContext.getConnection();
conn.Open();
//TODO OPERATION
}
catch (Exception e)
{
//return ex.ToString();
return -1;//MY_ERROR_CODE;
}
}
finally
{
conn.Close();
}
return 1//MY_SUCCES_CODE;
}
当您调用DB方法管理时,因此出现错误:
if (test() == -1)
{
//MESSAGE BOX ERROR OR OTHER
}