La mayor�a de las aplicaciones escritas en Visual Basic y Visual C# giran en torno a la lectura y actualizaci�n de informaci�n de bases de datos. Para permitir la integraci�n de datos en aplicaciones distribuidas y escalables, Visual Studio .NET es compatible con una nueva generaci�n de tecnolog�a de acceso a datos: ADO.NET.
El problema es comunicar un programa o aplicaci�n con una base de datos y m�s que comunicar se pretende que el programa o aplicaci�n realice una serie de procesos u operaciones con la base de datos o mejor aun con el conjunto de tablas que contiene una base de datos.
La primera nota a recordar es que una base de datos puede estar f�sicamente en el servidor y en alg�n f�lder o directorio del disco duro de dicha maquina. Otra cosilla que debemos recordar es que as� como existen servidores de paginas (Web Server), servidores de correo (Mail Server), servidores de ftp (ftp Server),..., tambi�n existen servidores de bases de datos (DataBase Server), los m�s comunes son el SqlServer de Microsoft, Oracle, MySql, y muchos m�s, estos servidores tambi�n pueden crear, administrar y procesar una base de datos.
El modo de comunicaci�n entre nuestra aplicaci�n y la base de datos implica que ambos manejen un lenguaje de programaci�n com�n, es decir no se puede mandar una instrucci�n en csharp .net, o en visual Basic .net o en Basic o pascal...o en cualquier otro lenguaje, a la base de datos y adem�s esperar que esta �ltima la entienda. Para entender esto, una raz�n muy sencilla es que la base de datos tendr�a que conocer o comprender todos los lenguajes de programaci�n, ahora dime, no ser�a m�s f�cil que exista un lenguaje com�n...?, entonces para resolver este problema de comunicaci�n es que se usa un lenguaje com�n de bases de datos que tanto los lenguajes de programaci�n existentes como las bases de datos entienden, este lenguaje com�n de bases de datos es el SQL (Structured Query Languaje) o lenguaje estructurado de consultas.
La pregunta es ahora como mandamos las instrucciones SQL a la base de datos, la respuesta es mediante los OBJETOS ADO.NET, las cuales proporcionan acceso coherente a or�genes de datos como Microsoft SQL Server, as� como a or�genes de datos expuestos mediante OLE DB y XML.
En la actualidad ADO.NET ya es parte del .NET Framework, esto quiere decir que es, de alguna manera, parte del sistema operativo y no m�s un redistribuible de 4 � 5 MB que se necesita alojar junto al cliente o junto al instalador de una aplicaci�n. Esto significa que nosotros, como desarrolladores, estaremos enfocados m�s al acceco a datos y a la l�gica para manipular estos datos, y no tendremos porqu� precuparnos en c�mo a los clientes la librer�a.
La mayor�a de las aplicaciones necesitan alg�n mecanismo de acceso a datos. Si est� creando una aplicaci�n nueva, dispone de tres opciones excelentes para obtener acceso a los datos: ADO.NET, ADO y OLE DB. Si necesita modificar el mecanismo de acceso a datos de una aplicaci�n existente, deber�a seguir utilizando la tecnolog�a actual de acceso a datos de la aplicaci�n por cuestiones de mantenimiento.
Si usted prev� que la aplicaci�n va a tener un ciclo de vida largo, entonces debe considerar la posibilidad de redise�ar la tecnolog�a de acceso a datos de la aplicaci�n y utilizar ADO.NET en aplicaciones administradas o ADO en aplicaciones nativas. A largo plazo, el uso de las tecnolog�as m�s modernas de acceso a datos reduce el tiempo de desarrollo, simplifica el c�digo y proporciona un rendimiento excelente.
A continuaci�n detallar� muchos conceptos importantes a cerca de ADO.NET.
�Acceso a datos con ADO.NET
- ADO.NET es una tecnolog�a de acceso a datos que se basa en los objetos ADO (Objetos de Datos ActiveX) anteriores.
- Es una manera nueva de acceder a los datos construida sobre ADO. ADO.NET puede coexistir con ADO.
- Tambi�n podemos decir que ADO.NET es un conjunto de clases que exponen servicios de acceso a datos al programador de .NET.
- ADO.NET proporciona un conjunto variado de componentes para crear aplicaciones distribuidas de uso compartido de datos. Forma parte integral de .NET Framework, y proporciona acceso a datos relacionales, datos XML y datos de aplicaciones.
- ADO.NET es compatible con diversas necesidades de programaci�n, incluida la creaci�n de clientes de bases de datos clientes y objetos empresariales de nivel medio utilizados por aplicaciones, herramientas, lenguajes o exploradores de Internet.
- ADO.NET utiliza un modelo de acceso pensado para entornos desconectados. Esto quiere decir que la aplicaci�n se conecta al origen de datos, hace lo que tiene que hacer, por ejemplo seleccionar registros, los carga en memoria y se desconecta del origen de datos.
- ADO.NET es un conjunto de clases que usted utiliza para acceder y manipular or�genes de datos como por ejemplo, una base de datos en SQL Server o una planilla Excel.
- ADO.NET utiliza XML como el formato para transmitir datos desde y hacia su base de datos y su aplicaci�n Web.
- Hay 3 espacios de nombres que se importar� en un formulario Web o formulario windows si esta usando ADO.NET:
- System.Data.
- System.Data.SqlClient.
- System.Data.OleDb.
- El modelo de objetos ADO.NET provee una estructura de acceso a distintos or�genes de datos. Tiene 2 componentes principales: El Dataset y el proveedor de Datos .NET
�Espacios de nombres para datos en el .NET Framework
Entre los espacios de nombres de .NET Framework relativos a datos y XML se incluyen:
- System.Data
- Consiste en las clases que constituyen la arquitectura ADO.NET, que es el m�todo primario para tener acceso a los datos de las aplicaciones administradas. La arquitectura ADO.NET permite crear componentes que administran eficientemente datos procedentes de m�ltiples or�genes. ADO.NET tambi�n proporciona las herramientas necesarias para solicitar, actualizar y reconciliar datos en aplicaciones distribuidas.
- System.Data.Common
- Contiene las clases que comparten los proveedores de datos .NET Framework. Dichos proveedores describen una colecci�n de clases que se utiliza para obtener acceso a un origen de datos, como una base de datos, en el espacio administrado.
- System.Xml
- Clases que proporcionan funcionalidad basada en est�ndares para procesar c�digo XML.
- System.Data.OleDb
- Clases que componen el proveedor de datos de .NET Framework para or�genes de datos compatibles con OLE DB. Estas clases permiten conectarse a un origen de datos OLE DB, ejecutar comandos en el origen y leer los resultados.
- System.Data.SqlClient
- Clases que conforman el proveedor de datos de .NET Framework para SQL Server, que permite conectarse a un origen de datos SQL Server 7.0, ejecutar comandos y leer los resultados. El espacio de nombres System.Data.SqlClient es similar al espacio de nombres System.Data.OleDb, pero optimizado para el acceso a SQL Server 7.0 y versiones posteriores.
- System.Data.SqlTypes
- Proporciona clases para tipos de datos nativos de SQL Server. Estas clases ofrecen una alternativa m�s segura y m�s r�pida a otros tipos de datos.
- System.Data.OleDb
- Clases que componen el proveedor de datos de .NET Framework para OLE DB. Estas clases permiten el acceso a or�genes de datos ODBC en el espacio administrado.
- System.Data.OracleClient
- Clases que componen el proveedor de datos de .NET Framework para Oracle. Estas clases permiten el acceso a or�genes de datos Oracle en el espacio administrado.