我有一个应用程序经常从Access数据库中读取数据,有没有办法使用连接池?
我的Opendatabase方法: -
private bool OpenDatabaseConnection(string databaseName)
{
try
{
string connectionString = "Provider = Microsoft.Jet.OLEDB.4.0; " +
"Data Source = " + databaseName + ";";
settingsDbConn = new OleDbConnection(connectionString);
settingsDbConn.Open();
}
catch (Exception)
{
return false;
}
return true;
}
答案 0 :(得分:5)
我同意@sll的评论但是,为了回答你的问题,然后将此字符串添加到你的连接字符串
OLE DB Services=-1
这将强制与JET OleDB提供程序建立连接池
但是,无论是否使用此设置,都要测试应用的效果
差异应该可以忽略不计。
并且,使用此设置,rembember to ALWAYS将连接返回到连接池,使用con.Close关闭它或将您的连接封装在using
语句中。
看看上面的代码,我会非常小心。
答案 1 :(得分:1)
我认为您不会从访问数据库池中获得任何好处。如果性能是一个问题,访问是一个糟糕的选择。
答案 2 :(得分:1)
这些是可以使用的connectionstring
属性:
OLE DB Services = -1;
OLE DB Services = -2;
OLE DB Services = -4;
OLE DB Services = -5;
OLE DB Services = -6;
OLE DB Services = 0;