2012-04-04 13 views
5

Tengo una aplicación que lee datos de un databse de Access con frecuencia, ¿hay alguna forma de utilizar la agrupación de conexiones? MétodoConexión agrupación con la base de datos de Access

Mi Abierto 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; 
} 
+0

sugeriría no se moleste con la agrupación de conexiones para la base de datos JET menos está utilizando un archivo db ubicado remotamente, de lo contrario no hay una sobrecarga significativa creando una nueva conexión; en la versión simplificada abra un archivo debajo del capó. – sll

Respuesta

5

estoy de acuerdo con el comentario de @sll pero, para responder a su pregunta, a continuación, añadir esta cadena para la cadena de conexión

OLE DB Services=-1

Este forzará la conexión de la conexión con el proveedor JET OleDB.
Sin embargo, prueba el rendimiento de tu aplicación con y sin esta configuración.
La diferencia debe ser insignificante. Y, con esta configuración, rembember para SIEMPRE devolver la conexión a la agrupación de conexiones cerrándola con con.Close o encapsulando su conexión en una declaración using.

Mirando su código anterior tendré mucho cuidado.

1

No creo que obtendrá ningún beneficio de la agrupación de una base de datos de acceso. Si el rendimiento es un problema, el acceso es una mala elección.

1

Estos son los atributos connectionstring que se pueden utilizar:

  • Todos los servicios (por defecto)
    OLE DB Services = -1;
  • Todos los servicios excepto la agrupación
    OLE DB Services = -2;
  • Todos los servicios excepto la agrupación y auto-alistamiento
    OLE DB Services = -4;
  • Todos los servicios excepto cursor de cliente
    OLE DB Services = -5;
  • todos los servicios excepto cursor del cliente y la puesta en común
    OLE DB Services = -6;
  • No Servicios
    OLE DB Services = 0;
Cuestiones relacionadas