DbTransaction, transaciones en un Db Factory

by Valeriano Tortola 16. septiembre 2007 21:08

Siguiendo con el tema del DbFactory con las clases de System.Data.Common, que permiten trabajar con cualquier base de datos de la que tengamos un proveedor en .NET, explicaré la clase DbTransaction, el cual permite realizar transacciones en la base de datos (explicación más completa en la versión en inglés).

Una transacción es una operación formada por un grupo de operaciones relacionadas, cada una podría requerir varias operaciones de lectura y/ó escritura en la base de datos, y solo tiene validez si se ejecutan todas. En caso de producirse un error en el transcurso de la transacción, ha de ser posible “deshacer” todas las operaciones anteriores (rollback), en caso contrario se da por finalizada la transacción aplicando los cambios (commit).

Mas...

Tags:

.NET 2.0 | C# 2.0 | ADO.NET

DbParameter.

by Valeriano Tortola 16. septiembre 2007 20:56

Para evitar problemas de seguridad en ADO.NET 2.0 es recomendable componer las sentencias SQL a base de parámetros en lugar de construir las cadenas manualmente en base a las propiedades .Text de los controles u otros orígenes. De esta forma evitamos fallos de seguridad potenciales (ie: SQL Injection) y otros problemas menores. Siguiendo con nuestra DB Factory donde mostré como utilizar la Fábrica de objetos de ADO.NET 2.0 para construir objetos que pueden manejar cualquier base de datos, ahora le toca el turno a la clase DbParameter para añadir parámetros a las sentencias SQL de nuestra DB Factory.

Mas...

Tags:

.NET 2.0 | C# 2.0 | ADO.NET

DB Factory con ADO.NET 2.0

by Valeriano Tortola 5. septiembre 2007 18:08

Muchas veces, nos encontramos ante la necesidad de escribir aplicaciones que puedan trabajar con cualquier tipo de base de datos, evitando en la máxima medida tener que modificar el código de la aplicación para ello. Para solventar este problema, siempre se ha recurrido al “modelo de n capas” donde una de ellas, era el proveedor de acceso a datos y se encargaba de abstraer esta tarea, normalmente encapsulada en una librería .dll que se cambiaba a voluntad sin que ello supusiese ningún problema para la aplicación. Esta librería, suele contener lo que se denomina un DBFactory, una clase abstracta o conjunto de funciones encargadas de adaptarse a la base de datos que se le indique y obtener datos de forma transparente para su consumidor, esta semana he descubierto como hacerlo con ADO.NET 2.0 sin tener que codificar a penas nada con las clases que habitan en System.Data.Common.

El ejemplo lo voy a hacer con SQL Server 2005 Express Edition y la base de datos de ejemplo "Northwind" que trae por defecto :).

Mas...

Tags:

.NET 2.0 | C# 2.0 | ADO.NET