在开发连接到本地数据库的桌面应用程序期间,我将数据库移动到网络位置,现在每次调用 Connection.Close() 时程序都会挂起 5-15 秒。当数据库存储在本地计算机上时,我很少会看到这个问题,但现在它在网络上,几乎每次我尝试 Close() 时它都会挂起。我对数据库的第一次调用我什至没有查询它,它只是一个测试连接,我打开和关闭以确保用户可以连接,但它仍然挂起太久。
我以前见过这个问题,但是除了“尝试使用(){}让 c# 清理它之外,没有人可以提供修复的建议或解决方案。” 这不会以任何方式影响 Close() 时间。
连接字符串中是否有解决此问题的选项?有谁知道为什么会这样?
我使用的连接字符串是:
CONNECTION_STRING = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=\\NEWTORK\Shared\Database\Database.accdb; Persist Security Info=False;"
private void
Form_Login_Load(object sender, EventArgs e)
{
OleDbConnection Connection = new OleDbConnection();
Connection.ConnectionString = CONNECTION_STRING;
try
{
Console.Write("Connection Opening.....");
Connection.Open();
Console.WriteLine("Connection Opened");
Console.Write("Writing Status Text.....");
lbl_Status.Text = "Online";
Console.WriteLine("Written Status Text");
Console.Write("Connection Closing.....");
Connection.Close();
Console.WriteLine("Connection Closed");
}
catch (Exception Ex)
{
lbl_Status.Text = "Offline";
lbl_Status.ForeColor = System.Drawing.Color.FromArgb(255, 0, 0);
MessageBox.Show("Could not connect to Database");
}
}
在我的输出窗口中,我立即看到打开消息和写入状态消息,但应用程序在“Console.Write(“连接关闭......”)之前挂起;' 线。5-15 秒后,关闭消息出现在窗口中。
应用程序中有许多连接查询数据库,它似乎在尝试关闭所有连接之前挂起。我似乎确实注意到,在不关闭应用程序的情况下重复相同的查询有时会导致重复关闭的关闭时间更快,但它总是在第一次尝试任何查询时挂起。
翻阅古今
墨色风雨
缥缈止盈
噜噜哒
相关分类