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

  • Windows Authentication
    • Integrated security = true

 

  • Mixed Authentication (SQL Authentication)
    • User id = usuarioX; password= ABC$2010

 

 

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.