Anda di halaman 1dari 11

Cadena de conexin para

conectar a una base de SQL


Server
Esto ms que un artculo es una especie de truco, aunque en realidad es como una "chuleta", en el
sentido de que, al menos a m, que tengo la memoria que tengo, me servir para esas ocasiones en las
que quiero crear la cadena de conexin a una base de SQL Server y tengo que andar "rebuscando" en
aplicaciones o cdigos que ya tenga hecho.
Aunque esto est en la seccin de ADO.NET, es decir, "parezca" que solo es para usar con .NET, en
realidad la cadena de conexin servir igual para una aplicacin de VB6 o cualquier otro lenguaje de
programacin.
Lo que si cambiar es la forma de realizar esa conexin, ya que dependiendo de que estemos usando
.NET o no, habr que usar "objetos" diferentes.
Pero como esta pgina est en la seccin de .NET, el ejemplo de cmo realizar la conexin ser para
Visual Basic .NET (todas las versiones, incluida la 2005) y C#, en ambos casos usando objetos del
espacio de nombres SqlClient.
Si quieres ver un ejemplo para VB6 usando ADO y Recordsets, puedes verlo pulsando en este link:
Conectar a una base de datos de SQL Server con VB6
Si quieres ver un ejemplo completo de acceso a SQL Server con VB y C#, pulsa en estos links:
Acceso a una base de datos de SQL Server con ADO.NET y Visual Basic
Acceso a una base de datos de SQL Server con ADO.NET y Visual C#

La cadena de conexin
La cadena de conexin puede ser de dos formas distintas, segn se indique la autenticacin 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 conexin pueden ser de
cualquier versin, 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 tendrs que indicar segn tus preferencias, me
refiero al nombre del servidor de SQL Server y a la base de datos a la que quieres acceder, adems del
nombre del usuario o la contrasea.
En esos casos estarn indicados con letra en negrita y cursiva, el resto es texto "fijo" y que siempre
podrs usar.
Esos valores sern los siguientes:
Valor Descripcin
ServidorSQL El nombre del servidor de SQL Server al que quieres acceder.
Los valores que puede tener depender de tu configuracin de SQL Server,
pero estos son los valores ms comunes:

Valor Descripcin
.
(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 aplicacin.
Es preferible usar (local).
NombreEquipo El nombre del equipo en el que se est
usando la aplicacin.
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
despus "resolver" una direccin IP, por
ejemplo, el nombre de un servidor de
Internet: nombreDominio.com.
DireccinIP Una direccin IP en la que est el servidor de
SQL al que queremos acceder, esto vale para
servidores que estn en equipos remotos.
Por defecto se utilizar el puerto
predeterminado: 1433
DireccinIP, Puerto La direccin 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
mtodos anteriores), podemos indicarlo
despus 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.
Contrasea El password (o contrasea) del usuario indicado.


Cadena de conexin con autenticacin de Windows
Para conectar a una base de datos de SQL Server con autenticacin de Windows, la cadena de conexin
ser:
Data Source = ServidorSQL; Initial Catalog = BaseDatos; Integrated Security = True

Cadena de conexin con autenticacin de SQL Server
Para conectar a una base de datos de SQL Server usando autenticacin del propio SQL Server, la cadena
de conexin ser:
data source = ServidorSQL; initial catalog = BaseDatos; user id = Usuario; password = Contrasea

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 conexin que hemos visto antes, aunque lo normal ser que se use la
segunda en la que se indica el nombre del usuario y la contrasea.
Esto se suele usar cuando estamos en una pgina Web o bien si queremos acceder desde una aplicacin
de escritorio (Windows.Forms), pero la base de datos no est en nuestro equipo.
El cdigo podra ser el siguiente, y puedes usar una direccin 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 = Contrasea


Conectar usando cdigo 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 cmo 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 cdigo mostrado.
Este mismo cdigo ser vlido tanto para una aplicacin de Windows o una pgina 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 cdigo para Visual Basic y C# sera el siguiente:

Imports System.Data
Imports System.Data.SqlClient


Dim sCnn As String
sCnn = "data source = ServidorSQL; initial catalog = BaseDatos; user id = Usuario; password =
Contrasea"

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 =
Contrasea";

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;
}


Y esto es todo...
Nos vemos.
Guillermo
Nota (02/Jul/06):
Adems de la conexin tpica de Data Source = <servidor>; Initial Catalog = <baseDatos>,
puedes usar esta otra forma:
Server = <servidor>; DataBase = <baseDatos>.
Listado de cadenas de Conexin
Lista de algunos ConnectionString prrafo Acceder a la Base de Datos y Archivos de Datos
MEDIANTE Ado
Aqui s Listan ALGUNAS cadenas de Conexin, y also pods descargar archivo this Enviado por Luis
Nuez, Que Contiene ejemplos de cadenas de conexion de ADO prr ODBC DSN / DSN-Less, OLE DB
Proveedores, Remote Data Services (RDS), MS remoto, y MS DataShape.
TAMBIEN ESTAN includas Cadenas De Conexion prr ADO.NET Y Proveedores de como MySQL, ODBC,
OLE DB, Oracle , y SQL Server . NET estndar
Descargar listado


Microsoft Access

Conecta una base de ua de Datos de pisos de acceso MEDIANTE OleDB
Dim path_Bd As String

path_Bd = App.Path & "\ Nombre.mdb"

cnn.Open "Provider = Microsoft.Jet.OLEDB.4.0;" Y "Fuente de datos =" & _
path_Bd & ";" Y "User Id = admin, contrasea ="

Conecta una base de ua de Datos Microsoft Access MEDIANTE ODBC. Sin la contrasea y el pecado
CONTRASEA
cnn.Open "driver = {Microsoft Access Driver (* mdb.)};" & _
"Dbq = c: \ LaBase.mdb; uid = administrador; pwd ="


Conecta MEDIANTE ODBC en Modo Exclusivo
cnn.Open "Driver = {Microsoft Access Driver (* mdb.)};" & _
"Dbq = C: \ Labase.mdb; Exclusive = 1; UID = admin; Pwd =;"

Para. Net OleDB MEDIANTE y estafa Contrasea
cnn.Open "Provider = Microsoft.Jet.OLEDB.4.0;" & _
"Origen de datos = C: \ LaBase.mdb;" & _
"Jet OLEDB: Database Password = contrasea;"

Conecta una base de ua de Datos Microsoft Access MEDIANTE OLEDB, Log in using ONU Grupo de
Trabajo
Dim path_Bd As String

path_Bd = App.Path & "\ Nombre.mdb"

cnn.Open "Provider = Microsoft.Jet.OLEDB.4.0; Data Source =" & path_Bd & ";" & _
"Jet OLEDB: System Database = c: \ Archivo.mdw", "usuario", "contrasea"

Igual al anterior Pero Log in using ODBC
Dim path_Bd As String

path_Bd = "c: \ carpta \ LaBase.mdb"

cnn.Open "driver = {Microsoft Access Driver (* mdb.)};" & _
"Dbq =" & path_Bd & ";" & _
"SystemDB = c: \ Archivo.mdw;", _
"Usuario", "contrasea"
Conectar un Access 2007
Private Sub Form_Load ()
Dim cs As String
Dim cn Como ADODB.Connection

Dim sPath_Access As String
'- Ruta del archivo ACCDB
sPath_Access = App.Path & "\ base \ db.accdb"

cs = "Provider = Microsoft.ACE.OLEDB.12.0; Data Source =" & _
sPath_Access & "; Persist Security Info = False;"

'- Access 2007 estafa contrasea
cs = "Provider = Microsoft.ACE.OLEDB.12.0; Data Source =" & _
sPath_Access & "; Jet OLEDB: Database Password = CONTRASEA;"

cn.Open cs
End Sub



Microsoft SQL Server

Cadena de Conexin Log in using OLEDB
cnn.Open "Provider = SQLOLEDB;" & _
"Origen de datos = Nombre_del_Servidor;" & _
"Initial Catalog = Nombre_de_la_base;" & _
"User Id = USUARIO, contrasea = PASSWORD"

Log in using ODBC
cnn.Open "driver = {SQL Server};" & _
"Server = NOMBRE_DEL_SERVIDOR; base de datos = LA_BASE; uid = USUARIO; pwd
= contrasea"


MySql
Una ONU OLEDB MEDIANTE MySql Servidor Servidor en. NET
cnn.Open "Provider = MySQLProv;" Y "Data Source = base;" & _
"User Id = USUARIO, contrasea = PASSWORD"

Una base Mysql Una Remota MEDIANTE ODBC
cnn.Open "Driver = {MySQL ODBC 3.51};" & _
"Servidor = data.domain.com;" & _
"Port = 3306; Database = Labase;" & _
"Usuario = USUARIO, contrasea = contrasea; opcin = 3;"

Base de Datos MEDIANTE local de ODBC
cnn.Open "Driver = {MySQL ODBC 3.51}; Servidor = localhost;" & _
"Database = Labase; usuario = Usuario, contrasea = contrasea; opcin =
3;"


Cadenas de Conexin prr Conectar un Microsoft Excel

Un archivo de Excel sin MEDIANTE OLEDB
conexion.Open "Provider = Microsoft.Jet.OLEDB.4.0;" & _
"Origen de datos =" & path_Bd & _
"; Extended Properties =" "Excel 8.0; HDR = Yes;" ""
Example: Leer hoja de Excel estafa ADO

A Excel MEDIANTE ODBC
cnn.Open "driver = {Microsoft Excel Driver (* xls.)};" & _
"DriverID = 790; DBQ = c: \ libro.xls;" & _
"DefaultDir = c: \ lacarpeta"


ConnectionString prr Archivos de texto (txt, csv, etc.)

ODBC
cnn.Open "DRIVER = {Microsoft Text Driver (* txt,. *. csv)};" & _
"DBQ =" & App.Path & ";", "", "" 'cargar Example prrafo de registros sin
'El archivo de texto en la clusula Desde




rs.open "select * from [ElArchivo # txt]", conn, adOpenStatic, _
adLockReadOnly, adCmdText


MEDIANTE OLEDB
cnn.Open "Provider = Microsoft.Jet.OLEDB.4.0;" & _
"Origen de datos = Path_De_La_carpeta;" & _
"Extended Properties =" "texto; HDR = Yes; FMT = Delimitado" ""

rst.Open "select * from ElArchivo.csv", cnn, _
adOpenStatic, adLockReadOnly, adCmdText

Ejemplos:
Leer archivo de texto y cargarlo en la ONU DataGrid


FoxPro - Dbf

Conectar porcin ODBC
Coneccion = "Driver = {Microsoft dBASE controlador (*. Dbf)};" & _
"DriverID = 277; Dbq = c: \ Path_de_carpeta;"
OLEDB
Conexin = "Provider = Microsoft.Jet.OLEDB.4.0;" & _
"Origen de datos = c: \ La_Carpeta;" & _
"Extended Properties = dBASE IV;" & _
"ID de usuario = admin, contrasea =";

Anda mungkin juga menyukai