Oracle.DataLayer.Primitives Public Version Released...!!! : Javier Luna blog

Friday, January 07, 2005

Oracle.DataLayer.Primitives Public Version Released...!!!

Les entrego la version publica del DataLayer.Primitives que habia publicado anteriormente.

http://guydotnetxmlwebservices.blogspot.com/2004/11/datalayerprimitives-and.html

Pero en esta oportunidad, con soporte al Oracle DataBase, haciendo uso del Oracle Data Access Provider - ODP

Que podran descargar de cualquiera de los siguentes lugares:

http://www.msnusers.com/guydotnetxmlwebservices/Documents/Oracle.DataLayer.zip
http://www.msnusers.com/guydotnetxmlwebservices/Documents/Oracle.DataLayer.rar

Pero previamente deberan unirse al grupo a traves del siguiente link:
http://groups.msn.com/guydotnetxmlwebservices/join

Algunos puntos que valen la pena comentar, para esta version de codigo, son:

Dentro del CommonLayer.Customs, se agrego el CustomBoolean, que encapsula el mapeo de un tipo de dato booleano, con el que no se cuenta dentro de Oracle. Algo relativamente similar al Boolean que se mapea naturalmente con el tipo de dato BIT del SQL Server.

Este tipo de dato, se comportara como un Boolean dentro del .NET y como un CHAR(1) contra la database. Con valores 'Y', 'N'. A traves de las propiedades Value y DBValue, respectivamente.

De esta manera contamos con un tipo de dato que te permitira centralizar el manejo de tipos de datos booleanos, que se obtiene de la database Oracle.

Por otro lado, el PrimitiveParameter cuenta con una propiedad adicional: Position, la cual indica el orden que obstenta dentro de alguna collection de PrimitiveParameters.

Debido a que SQL Server, no es estricto en el orden en el que se envian los parametros para la ejecucion de un store procedure, pues no era necesario contra con esta propiedad en el DataLayer.Primitives orientado a dicho motor de Base de Datos.

Sin embargo, en Oracle, si lo es. De esta manera, cada vez que agregamos un elemento a la colleccion, salvamos el orden en el que se esta agregando dicho elemento. Para que posteriormente sea entregado en dicho orden al store procedure, que se vaya a ejecutar.

En este objetivo, PrimitiveParameterPositionComparer implementa la interfaz IComparer, validando la propiedad Position entre elementos contiguos de una colleccion.

PrimitiveParameterCollection, define una propiedad llamada Sortered la cual ordena la lista de elementos de la colleccion de PrimitiveParameters aplicando el criterio de orden entre los elementos, establecido en PrimitiveParameterPositionComparer.

Finalmente, PrimitiveSize permite encapsular la longitud para los tipos de datos CHAR, VARCHAR2, etc. cuando se crea un PrimitiveParameter

No comments: