与Access数据库的连接池
本文关键字:连接 数据库 Access | 更新日期: 2023-09-27 18:30:03
我有一个经常从Access数据库读取数据的应用程序,有什么方法可以使用连接池吗?
我的开放数据库方法:-
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;
}
我同意@sll的评论,但为了回答您的问题,请将此字符串添加到您的连接字符串中
OLE DB Services=-1
这将强制使用JET OleDB提供程序进行连接池
但是,无论是否使用此设置,都要测试应用程序的性能
差异应该可以忽略不计。并且,使用此设置,remember to ALWAYS将连接返回到连接池,使用con.Close关闭连接或将连接封装在using
语句中。
查看上面的代码,我会非常小心。
这些是可以使用的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;
来源:https://learn.microsoft.com/en-us/archive/blogs/selvar/ole-db-resource-pooling
我认为您不会从访问数据库的池中获得任何好处。如果性能是个问题,那么访问是个糟糕的选择。