Por Diego Javier Oyarbide Perla – Estudiante de la carrera de Informática

Dentro de las compañías, hoy en día, se está avanzando siempre en los ámbitos de programación y también el manejo de sus respectivas bases de datos. Como programadores, sabemos qué es una base de datos y cómo manejar un Oracle database, además de saber distintos lenguajes de programación incluidos C#. Ahora bien, ¿sabías que puedes implementar las bases de datos de Oracle dentro del mismo código en C# utilizando por ejemplo Visual Studio .Net de Microsoft?

La arquitectura que nos ofrece ADO .Net de Microsoft nos permite interactuar con las bases de datos de Oracle. ¿Pero qué es ADO .net? ADO .NET es una capa dentro del mismo .NET Framework que nos permite interactuar con aplicaciones con un motor relacional. Esta capa posee interfaces necesarias para que las bases de datos puedan integrarse a una aplicación de Microsoft .NET. Esta arquitectura le da al programador la libertad de trabajar con los datos de manera conectada o bien desconectada de la base de datos.

¿Cómo podemos trabajar de manera desconectada? La arquitectura posee clases DataAdapter y DataSet. La clase DataSet almacena la información de las bases de datos que es extraída utilizando la clase DataAdapter. Esto permite, una vez que la información es almacenada, utilizarla dentro de la aplicación sin necesidad de estar conectado a la base de datos en todo momento. En cuanto al trabajo de manera conectada, se utiliza un DataReader que lee la información de la base de datos todo el tiempo.

¿Cómo decidimos si nuestra aplicación debería usar un DataReader o bien un DataSet? Un DataSet es normalmente utilizado para guardar la data del cache localmente en la aplicación, lo que permite al desarrollador manipularla. De manera que, por ejemplo, si solo se necesita leer el resultado de un query, sería mejor utilizar un DataReader en lugar de un DataSet. Además de esta funcionalidad, los DataSets también permiten data remota entre niveles o bien de un XML web service, e interactúan con la data de manera dinámica como combinar y relacionar la información de múltiples fuentes.

ADO .Net provee una funcionalidad a los desarrolladores que escriben código similar a la funcionalidad que provee COM (component object model, otra plataforma de Microsoft) a los desarrolladores de ADO (ActiveX Data Objects). Es importante mencionar que el mismo Microsoft recomienda a desarrolladores que utilicen la arquitectura de ADO .NET en lugar de ADO para poder acceder a la información en sus aplicaciones .Net.

Existen diferentes métodos de conexión a la hora de utilizar Visual Studio junto con Oracle DataBase, los cuales van desde la utilización de un adaptador de servicios hasta la utilización de un asistente para agregar metadata. Ahora bien, existen diferentes opciones: por ejemplo, Microsoft cuenta con una librería que se llama Microsoft Oracle Client y es parte del mismo .Net Framework. Esta librería implementa la interfaz del antes mencionado ADO.NET para conectarse con la base de datos de Oracle.

Sin embargo, Oracle también liberó una librería llamada ODP.NET. Esta librería ha probado obtener mejores resultados en cuanto a performance y a las ventajas que ofrece en comparación a Microsoft Oracle Client. Estas ventajas van desde lo que se espera que es un mejor uso de la tecnología de Oracle (ya que es de la misma compañía) hasta ventajas de seguridad, como la autenticación de proxys e incluso atributos de rastreo de extremo a extremo. Finalmente, es importante hacer mención que, en cuanto a Microsoft Oracle client, este permite implementar aplicaciones con conexión de base de datos Oracle a partir de la versión 8.1.7.

 

MOXIE es el Canal de ULACIT (www.ulacit.ac.cr), producido por y para los estudiantes universitarios, en alianza con el medio periodístico independiente Delfino.cr, con el propósito de brindarles un espacio para generar y difundir sus ideas.  Se llama Moxie - que en inglés urbano significa tener la capacidad de enfrentar las dificultades con inteligencia, audacia y valentía - en honor a nuestros alumnos, cuyo “moxie” los caracteriza.