none
Dudas sobre conexiones a SQL Compac Edition RRS feed

  • Pregunta

  • Buenas tardes, desarrolle un sistema mediano el cual termine y ahora estoy optiminanzolo y de paso aprendiendo cosas nuevas. Me estoy centrando en principio en mejorar toda la capa de acceso a datos. Tengo un DAO (vengo de la escuela de Java, jejeje) por cada table, por ejemplo un EmpleadoDAO.cs esta clase tiene todos los metodos necesarios para insertar, buscar borrar y actualizar los datos del empleado. a su vez esta clase usa una clase estatica que se llama DataBaseConnection.cs  que es la que se encargar de la coneccion a la base y la de ejecutar el sql pasado como parametro.La aplicacion es standalone y usa un base SQL Compat Edition, por el momento monousuario.

    Mis dudas son las siguientes:

    1. En el modelo actual, abro y cierro la conexion con cada ejecucion de un sql, esto esta bien? me conviene abrir la conexion al inicio de la aplicacion y luego cerrarla al final? que es lo mas performante y lo mas seguro

    2. llegado el caso que se pueda ejecutar varias instancias de la aplicacion en un futuro podria haber varias conexiones sobre la misma base, la respuesta de la pregunta 1 sigue siendo valida, o ya tengo que pensar en pooling, etc.

    3. si en lugar de sql compact edition lo migro a un SQL Server ahi si deberia pensar en un pool de conexion verdad?

    Por ejemplo la Clase que maneja la conexion tiene este metodo:

     

     

    public static void executeNonQuery(string sql) {

    using (SqlCeConnection connection = getDataBaseConnection()) {

     

     

    using (SqlCeCommand command = new SqlCeCommand(sql, connection)) {

    connection.Open();

    command.ExecuteNonQuery();

    }

    }

    }

     

     

     

    public static SqlCeConnection getDataBaseConnection() {

     

     

    return new SqlCeConnection("Persist Security Info=False; Data Source=" + databasePath + ";");

    }

     

    Muchas gracias

    viernes, 1 de octubre de 2010 20:00