Creación de Conexiones a Microsoft SQL Server 2005/2008 con .NET
A continuación describimos los elementos necesarios para crear conexiones manuales a Microsoft SQL Server 2005 ó 2008.
Opción |
Descripción |
Data Source |
Nombre o dirección IP del que contiene las Bases de Datos |
Initial Catalog |
Nombre de la Base de Datos |
Seguridad
|
Esta opción se asigna en caso de que la seguridad de la red utilice Autenticación de Windows (usuario de red).
Esta opción se asigna en caso de que la seguridad de la red no utilice un usuario de dominio. Aplica cuando empleamos un usuario propio de Microsoft SQL Server (utiliza SQL Server Management Studio). |
Muy bien, ahora escribiremos un ejemplo de los 2 tipos de conexión a la Base de Datos.
Usando Windows Authentication |
Data Source=localhost; Initial Catalog = dbPatitoCorp; integrated security = true; |
Usando Mixed Authentication (SQL Authentication) |
Data Source=localhost; Initial Catalog = dbPatitoCorp; user id= usuarioX; password = ABC$2010; |
A continuación escribimos un código hecho en C# para conectarnos al origen de datos.
//definir el namespace para acceder a las clases ADO.NET para Microsoft SQL Server
using System.Data.SqlClient;
//definer una variable string que almacena la cadena de conexión
private string sConexionDB = «data source=localhost; initial catalog=dbPatitoCorp; integrated security=true»;
//declaración de la clase SqlConnection y generación del objeto mediante la palabra NEW.
//se pasa como parámetro la cadena de conexión al constructor de la clase
SqlConnection Cnn = new SqlConnection(sConexionDB);
Componentes esenciales de ADO.NET 3.5
|
La imagen describe la comunicación que existe entre los diversos objetos del proveedor de datos .NET. Durante el proceso de manipulación de datos, se requiere la intervención de 2 objetos básicos, el Data Adapter y el Command. Ambos se emplean para extraer y manipular datos desde una Base de Datos utilizando una conexión.
La información extraída es recibida por el objeto Data Adapter, quien será el responsable de inyectarlos en el objeto DataSet. Internamente el objeto DataSet agrupa los datos en objetos llamados DataTable, los cuales se conforman de DataRows (renglones), DataColumns (columnas) y Constraints, estos últimos son para
garantizar la integridad referencial así como para establecer las relaciones entre los objetos DataTable.
Además el objeto Data Adapter ofrece la funcionalidad de realizar las tareas como INSERT, UPDATE y DELETE en combinación con el objeto Command. Una gran ventaja en el uso del objeto Data Adapter es la apertura de la conexión a la base de datos de manera automática, a diferencia del objeto Data Reader quien necesita una conexión abierta pre-existente, así se garantiza que el proveedor de datos mantendrá disponible la conexión al origen de datos el tiempo necesario para extraer o actualizar información. Finalizado el proceso solicitado (SELECT, INSERT, UPDATE, DELETE) se realiza el cierre automático de la conexión a la Base de Datos. A este proceso se le conoce como arquitectura de datos desconectada, ya que la información que se manipula está concentrada en un objeto DataSet.
La ventaja del ambiente desconectado es la mejora en el rendimiento de los sistemas y el menor uso de recursos para mantener las conexiones de los orígenes de datos.
Introducción a ADO.NET 3.5
ADO.NET es un conjunto de clases que permiten acceder a datos que están siendo administrados por una Base de Datos. Cuando desarrollamos una aplicación con C# o Visual Basic NET, necesitamos agregar la instrucción que integre el namespace (librerías) que contiene las clases de cada proveedor de datos.
A continuación cito los namespaces para cada tipo de origen de datos:
Proveedores de datos incluidos en .NET Framework |
||
Proveedor |
Namespace |
Descripción |
SQL Server |
System.Data.SqlClient |
Nos permite acceder a bases de datos Microsoft SQL Server 7 o superior. |
OLE DB |
System.Data.OleDb |
Nos permite acceder a cualquier base de datos que soporte OLE DB, por ejemplo Microsoft Access. |
ODBC |
System.Data.Odbc |
Nos permite acceder a cualquier base de datos que soporte ODBC, por ejemplo Visual Fox Pro, DBASE, Informix. |
Oracle |
System.Data.OracleClient |
Nos permite acceder a bases de datos |
Los objetos del proveedor de datos .NET que se muestran en la siguiente tabla, son empleados para extraer y manipular información de una Base de Datos.
Clase |
Descripción |
Connection |
Establece una conexión de una base de datos. |
Command |
Representa una instrucción SQL individual que es ejecutado en la base de datos. |
Data Reader |
Provee acceso de sólo lectura (read-only) y sólo avanzar hacia adelante (foward-only) a los datos en una base de datos. |
Data Adapter |
Provee la liga entre los objetos comando, conexión y DataSet. |
A continuación presento una tabla que incluye las clases para cada proveedor de datos .NET.
Objeto |
SQL Server |
OLE DB |
ODBC |
Oracle |
Connection |
SqlConnection |
OleDbConnection |
OdbcConnection |
OracleConnection |
Command |
SqlCommand |
OleDbCommand |
OdbcCommand |
OracleCommand |
Data Reader |
SqlDataReader |
OleDbDataReader |
OdbcDataReader |
OracleDataReader |
Data Adapter |
SqlDataAdapter |
OleDbDataAdapter |
OdbcDataAdapter |
OracleDataAdapter |
Personalmente recomiendo la descarga del proveedor de datos .NET de cada fabricante de Base de Datos, ya que se puede obtener un mayor aprovechamiento de la funcionalidad de cada producto.