连接池与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;