与Access数据库连接池(Connection Pooling with Access datab

2019-09-16 08:28发布

我有一个应用程序,它从Access DATABSE频繁读取数据,有没有办法使用连接池?

我打开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;
}

Answer 1:

我同意@sll的评论,但是,回答你的问题,那么这个字符串添加到您的连接字符串

OLE DB Services=-1

这将迫使与Jet OLEDB提供集中的连接。
但是测试使用和不使用此设置你的应用程序的性能。
所不同的是可以忽略的。 而且,通过这种设置,rembember总是返回与con.Close将其关闭或封装在您连接的连接到连接池using的语句。

看你上面的代码我会很小心。



Answer 2:

我不认为你会从汇集了Access数据库中得到任何好处。 如果性能是一个问题,访问是一个糟糕的选择。



Answer 3:

这些是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;


文章来源: Connection Pooling with Access database