Cadena de Conexion.

Publicado: octubre 8, 2007 en Categoria All

Investigando en la web me he encontrado una informacion importante sobre como conectarse a bases de datos.. Este se encuentra explicado de manera detallada.

Cadena de Conexión

La cadena de conexión puede ser de dos formas distintas, según se indique la autenticación de Windows o la de SQL Server.
En la primera no hay que indicar ni usuario ni password, en la segunda si que hay que indicar esos dos datos.
Las bases de datos de SQL Server a las que podemos acceder con esa cadena de conexión pueden ser de cualquier versión, al menos yo lo he probado con las versiones 7.0, 2000 y 2005, en los tres casos usando ADO.NET.

En los siguientes ejemplos usaremos ciertos valores que tendrás que indicar según tus preferencias, me refiero al nombre del servidor de SQL Server y a la base de datos a la que quieres acceder, además del nombre del usuario o la contraseña.

En esos casos estarán indicados con letra en negrita y cursiva, el resto es texto “fijo” y que siempre podrás usar.
Esos valores serán los siguientes:

Valor Descripción
ServidorSQL   El nombre del servidor de SQL Server al que quieres acceder.
Los valores que puede tener dependerá de tu configuración de SQL Server, pero estos son los valores más comunes:

Valor Descripción
.(local) Uno de estos valores indicará que quieres acceder a la instancia predeterminada de SQL Server que haya en el equipo en el que se está ejecutando la aplicación.
Es preferible usar (local).
NombreEquipo El nombre del equipo en el que se está usando la aplicación.
Es preferible usar (local) para que no influya el equipo en el que se ejecute el programa.
NombreDNS Un nombre DNS es decir, un nombre que después “resolverá” una dirección IP, por ejemplo, el nombre de un servidor de Internet: nombreDominio.com.
DirecciónIP Una dirección IP en la que está el servidor de SQL al que queremos acceder, esto vale para servidores que están en equipos remotos.
Por defecto se utilizará el puerto predeterminado: 1433
DirecciónIP, Puerto La dirección IP del servidor de IP al que se accederá por el puerto indicado.
Por defecto el puerto de SQL Server es el 1433.
ServidorSQL/Instancia   Si no queremos usar la instancia predeterminada del servidor de SQL Server indicado (usando cualquiera de los cuatro métodos anteriores), podemos indicarlo después del nombre del servidor separado con un \.
Por ejemplo, en Visual Studio .NET (2002 y 2003) se crea una instancia llamada NETSDK, para acceder a esa instancia usaremos: (local)\NETSDK.
En Visual Studio 2005 se suele instalar el SQL Server 2005 Express y se crea una instancia llamada SQLEXPRESS, para acceder a las bases de datos de esa instancia, usaremos: (local)\SQLEXPRESS.
BaseDatos   El nombre de la base de datos de SQL Server a la que quieres acceder (no la tabla)
Usuario   El nombre del usuario de la base de datos a la que quieres acceder.
Contraseña   El password (o contraseña) del usuario indicado.

Cadena de conexión con autenticación de Windows

Para conectar a una base de datos de SQL Server con autenticación de Windows, la cadena de conexión será:

Data Source = ServidorSQL; Initial Catalog = BaseDatos; Integrated Security = True 

Cadena de conexión con autenticación de SQL Server

Para conectar a una base de datos de SQL Server usando autenticación del propio SQL Server, la cadena de conexión será:

data source = ServidorSQL; initial catalog = BaseDatos; user id =  Usuario; password = Contraseña

Indicar una base de datos que está en un servidor “remoto”

Para acceder a una base de datos que está en un servidor remoto, es decir en otro equipo, debemos usar cualquiera de las dos cadenas de conexión que hemos visto antes, aunque lo normal será que se use la segunda en la que se indica el nombre del usuario y la contraseña.
Esto se suele usar cuando estamos en una página Web o bien si queremos acceder desde una aplicación de escritorio (Windows.Forms), pero la base de datos no está en nuestro equipo.
El código podría ser el siguiente, y puedes usar una dirección IP o el nombre de un dominio (DNS) para indicar el nombre del servidor de SQL Server:

data source = ServidorSQL; initial catalog = BaseDatos; user id = Usuario; password = Contraseña

Conectar usando código de ADO.NET

Lo habitual es que usemos dos tipos de “conexiones”, una usando un objeto DataAdapter y la otra usando un objeto Connection. Esta última es la que debemos usar si el acceso lo haremos por medio de un objeto Command en lugar del DataAdapter, por ejemplo para acceder a un procedimiento almacenado.
Pero para mantener el ejemplo simple, solo mostraré cómo conectar usando el SqlDataAdapter en el que usaremos un objeto DataTable para traer los datos, y esos datos los mostraremos en un DataGrid o un GridView como es el caso del código mostrado.
Este mismo código será válido tanto para una aplicación de Windows o una página Web.

Conectar usando un objeto SqlDataAdapter

Cuando usamos un DataAdapter no necesitamos usar un objeto del tipo SqlCommand, ya que el adaptador se encarga de todo.
El código para Visual Basic y C# sería el siguiente:

Visual Basic

Imports System.Data
Imports System.Data.SqlClient
Dim sCnn As String sCnn = "data source = ServidorSQL; initial catalog = BaseDatos; 
user id = Usuario; password = Contraseña"
Dim sSel As String = "SELECT * FROM NombreTabla"
Dim da As SqlDataAdapter
Dim dt As New DataTable
Try
da = New SqlDataAdapter(sSel, sCnn)
da.Fill(dt)
Me.GridView1.DataSource = dt
Me.GridView1.DataBind()
LabelInfo.Text = String.Format("Total datos en la tabla: {0}", dt.Rows.Count)
Catch ex As Exception
LabelInfo.Text = "Error: " & ex.Message
End Try
---------------------------------------------------------------------------------- 
C#
using System.Data;
using System.Data.SqlClient;
string sCnn;  sCnn = "data source = ServidorSQL; initial catalog = BaseDatos; 
user id = Usuario; password = Contraseña";
string sSel = "SELECT * FROM NombreTabla";
SqlDataAdapter da; DataTable dt = new DataTable();
try {
da = new SqlDataAdapter(sSel, sCnn);
da.Fill(dt);
this.GridView1.DataSource = dt;
this.GridView1.DataBind();
LabelInfo.Text = String.Format("Total datos en la tabla: {0}", dt.Rows.Count); }
catch(Exception ex) {
LabelInfo.Text = "Error: " + ex.Message; }

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s