La 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.
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:
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
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;
}
No hay comentarios:
Publicar un comentario