Cadena de Conexion Para Conectar a Una Base de SQL Server

  • Published on
    10-Oct-2015

  • View
    49

  • Download
    1

Transcript

Cadena de conexin para conectar a una base de SQL ServerEsto 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 VB6Si 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 BasicAcceso a una base de datos de SQL Server con ADO.NET y Visual C#La cadena de conexinLa 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:ValorDescripcin

ServidorSQLEl 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: ValorDescripcin

. (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).

NombreEquipoEl 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.

NombreDNSUn nombre DNS es decir, un nombre que despus "resolver" una direccin IP, por ejemplo, el nombre de un servidor de Internet: nombreDominio.com.

DireccinIPUna 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, PuertoLa 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/InstanciaSi 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.

BaseDatosEl nombre de la base de datos de SQL Server a la que quieres acceder (no la tabla)

UsuarioEl nombre del usuario de la base de datos a la que quieres acceder.

ContraseaEl password (o contrasea) del usuario indicado.

Cadena de conexin con autenticacin de WindowsPara 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 = TrueCadena de conexin con autenticacin de SQL ServerPara 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 = ContraseaIndicar 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 = ContraseaConectar usando cdigo de ADO.NETLo 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 SqlDataAdapterCuando 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.DataImports System.Data.SqlClient

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

Dim sSel As String = "SELECT * FROM NombreTabla"

Dim da As SqlDataAdapterDim 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 Tryusing 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.GuillermoNota (02/Jul/06):Adems de la conexin tpica de Data Source = ; Initial Catalog = ,puedes usar esta otra forma:Server = ; DataBase = .Listado de cadenas de ConexinLista de algunos ConnectionString prrafo Acceder a la Base de Datos y Archivos de Datos MEDIANTE AdoAqui s Listan ALGUNAS cadenas de Conexin, y also pods descargar archivo this Enviado por Luis Nuez, Que Contiene ejemplos de cadenas de conexion deADOprr 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, ySQL Server. NET estndarDescargar listadoMicrosoft AccessConecta 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 2007Private 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 csEnd Sub

Microsoft SQL ServerCadena de Conexin Log in using OLEDBcnn.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"

MySqlUna 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 ExcelUn 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 ADOA 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, adCmdTextMEDIANTE OLEDBcnn.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, adCmdTextEjemplos:Leer archivo de texto y cargarlo en la ONU DataGrid

FoxPro - DbfConectar 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 =";