连接池与Access数据库

我有一个应用程序经常从Access数据库中读取数据,有没有办法使用连接池?

我的Open Databse方法: –

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提供程序建立连接池。
但是,使用和不使用此设置测试应用程序的性能。
差异应该可以忽略不计。 并且,使用此设置,rembember 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;