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 que 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 que 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. Permitiendo así una vez 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 el 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, permitiendo 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 libero una librería llamada ODP.NET. Esta librería ha probado obtener mejores resultados en cuanto a performance y las ventajas que esta ofrece en comparación a Microsoft Oracle Client. Ventajas que 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.
Referencias bibliográficas:
-
(2017, June 08). Develop Oracle Database applications using the WCF Service Model - BizTalk Server. Retrieved June 11, 2020, from https://docs.microsoft.com/en-us/biztalk/adapters-and-accelerators/adapter-oracle-database/develop-oracle-database-applications-using-the-wcf-service-model
-
(2017, June 08). Conectarse a la base de datos de Oracle en Visual Studio - BizTalk Server. Retrieved June 11, 2020, from https://docs.microsoft.com/es-es/biztalk/adapters-and-accelerators/adapter-oracle-database/connect-to-oracle-database-in-visual-studio
-
(2017, March 30). Architecture - ADO.NET. Retrieved June 11, 2020, from https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/ado-net-architecture
-
Technical Comparison: ODP.NET Versus Microsoft OracleClient. (n.d.). Retrieved June 11, 2020, from https://www.oracle.com/topics/technologies/dotnet/technical-comparison.html
-
Riccio, F. (2013, March). Implementando Aplicaciones .NET con ODP.NET & Entity Framework. Retrieved June 11, 2020, from https://www.oracle.com/technetwork/es/articles/dotnet/implementar-aplicaciones-net-1924201-esa.html