cadenas de conexion desde .NET para SQL Server 2005

[2010-Abr-30] NOTA: Si están recibiendo el error: "Error mientras se establecía la conexión con el servidor. Al conectar con SQL Server 2005, el error se puede producir porque la configuración predeterminada de SQL Server no admite conexiones remotas". Por favor, revisen la siguiente entrada: habilitando (o administrando) las conexiones remotas en SQL Server 2005.

si es que estamos usando SQLExpress, y estamos creando una aplicación .NET para el acceso a datos, hay que tener algunas consideraciones adicionales a la hora de conectarnos a la base de datos.

Dentro de las aplicaciones Windows, con VS2005, hay la opción de agregar un Ítem SQL Database, pero sólo está disponible si has instalado SQLExpress. En este caso la cadena de conexión ha cambiado ligeramente. Como nos mantenemos actualizados? visitando: http://www.connectionstrings.com/.

Aquí pondré algunos resúmenes de las cadenas para SQL Server 2005, desde .NET:

  1. Seguridad Estándar
    "Data Source=Aron1; Initial Catalog=pubs; User Id=myUsername; Password=myPassword;"
  2. Conexión Segura
    "Data Source=Aron1; Initial Catalog=pubs; Integrated Security=SSPI;"
  3. Conexión via IP
    "Data Source=190.190.200.100,1433; Network Library=DBMSSOCN; Initial Catalog=pubs; User ID=myUsername; Password=myPassword;"
  4. Adjuntando una base de datos, para conectarnos a SQL Express (caso mencionado arriba)
    "Server=.\SQLExpress; AttachDbFilename=|DataDirectory|mydbfile.mdf; Database=dbname; Trusted_Connection=Yes;"

Ahora con respecto a las conexiones hay algunas cosas que hay que tener en cuenta, y mejores prácticas que aplicar:

En el caso 01 y 03,  la conexión al contener el usuario y password, hace que este sea altamente inseguro, imaginemos en el hipotético de los casos que alguien tiene acceso a la cadena conexión, tendrá automáticamente el login de SQL, bueno las cosas que pueda hacer dependerá del usuario que la encontró. En estos casos hay ciertas prácticas que debemos seguir, como es la encriptación de archivos de configuración, que es generalmente donde se guardan las conexiones, aunque algunos prefieran guardarlo en el Regedit:

Con respecto a la cadena de conexión para SQLExpress, he recibido algunas consultas sobre donde se debe colocar el archivo, en la raíz de la aplicación o en el bin?, ya que ha estado generando algunos problemillas. En el post que hice usando SQL Express, el asistente genero la ruta absoluta del archivo, lo ideal es trabajar con la relativa para hacer que la aplicación sea portable. Para más detalles podemos revisar los siguientes post del equipo de Smart Client:

Saludos,


Post cruzado desde starrillo blog

Published 16/11/2006 1:02 por Sergio Tarrillo
Comparte este post:
http://geeks.ms/blogs/sergiotarrillo/archive/2006/11/16/cadenas-de-conexion-desde-net-para-sql-server-2005.aspx

Comentarios

# re: cadenas de conexion desde .NET para SQL Server 2005

Hola, estoy intentando realizar una conección en ASP.NET, para ello estoy utiizando Visual Studio .NET, pero la cadena de concección que me pasaron desde mi servidor de hosting no me responde, esta cadena es la siguiente:

"Data Source=whsql-v12.prod.mesa1.secureserver.net;Initial Catalog=DB_102696;User ID=miusuario;Password=mispassword;"

espero y podas ayudarme. Saludos

xaviermichel@hotmail.com

Wednesday, December 6, 2006 8:22 PM por Xavier

# re: cadenas de conexion desde .NET para SQL Server 2005

Hola Xamier!

Primero deberías colocar un try catch, para ver cuál es el problema, es decir el servidor no existe, la base de datos no existe, o el usuario o clave no existen.

Saludos,

Wednesday, December 6, 2006 11:46 PM por Sergio Tarrillo

# SergioTarrillo's Blog : usando Data Access Application Block en la capa de Acceso a Datos (DataAccess)

# Instalando SQL Server Express en modo avanzado

En un post hablamos de las cadenas de conexion desde .NET para SQL Server 2005. En ese mismo post...

Friday, February 9, 2007 3:44 PM por Sergio Tarrillo's Blog -> enhancements

# Instalando SQL Server Express en modo avanzado

En un post hablamos de las cadenas de conexion desde .NET para SQL Server 2005 . En ese mismo post se

Friday, February 9, 2007 3:44 PM por SergioTarrillo's RichWeblog

# re: cadenas de conexion desde .NET para SQL Server 2005

Bien Barbita XD

Friday, July 27, 2007 1:41 AM por Andres

# re: cadenas de conexion desde .NET para SQL Server 2005

De nada Andres :D!

Saludos,

Monday, July 30, 2007 2:45 AM por Sergio Tarrillo

# re: cadenas de conexion desde .NET para SQL Server 2005

Necesito realizar una cadena de coneccion en red es requerido el user y password de la base de datos

Tuesday, August 7, 2007 7:11 PM por DAN

# re: cadenas de conexion desde .NET para SQL Server 2005

Tengo problemas de conexion con studio.net 2002 y sqlserver 2000, me lo marca cuando hago un reporte con crystalReporte hago el diseño llamo la base de datos jalo los compos utilizo el sqlconnection y el sqldataadapter pero no me   los reconoce y me marca erro de conexion.

Ya no se que hacer solo es un reporte con crystal, espero que alguien me pueda ayudar con mi problema de conexion. saludos

Monday, August 20, 2007 9:13 PM por SABRINA

# re: cadenas de conexion desde .NET para SQL Server 2005

Estoy teniendo problemas al intentar conectarme utilizando un alias. El servidor es sql server 2005, y lo tengo en mi propio ordenador.

Si empleo esta cadena de conexion:

workstation id=D0302HWPC0156;packet size=4096;user id=usuario;data source="D0302HWPC0156\SQLSERVER";persist security info=True;initial catalog=EASP_WEB;password=clave

no tengo ningun problema. Ahora bien, al cambiar el datasource por un nombre de alias que me creo en mi ordenador, me dice Error mientras se establecía la conexión con el servidor. Al conectar con SQL Server 2005, el error se puede producir porque la configuración predeterminada de SQL Server no admite conexiones remotas. (provider: Proveedor de TCP, error: 0 - No se ha podido establecer conexión ya que el equipo de destino ha denegado activamente dicha conexión).

Para crear el alias he probado con 127.0.0.1, con el nombre de mi equipo\sqlserver..

Tengo desactivado el firewall de windows y no tengo ningun router ni nada.

¿A que se puede deber?

Wednesday, September 12, 2007 8:34 AM por Antonio

# re: cadenas de conexion desde .NET para SQL Server 2005

hola bueno mi duda como es la cadena de conexion para un servidor remoto tengo 12 maquinas en red y una de ellas tienes la base de datos cual seria la cadena de conexion

Tuesday, November 6, 2007 3:47 PM por Dennis

# re: cadenas de conexion desde .NET para SQL Server 2005

lo mejor que he encontrado para crear cadenas de conexion

www.mistrucos.net/truco-sql-server-2005-crear-una-cadena-de-conexion-692_1.htm

Wednesday, November 7, 2007 10:15 PM por alexis

# re: cadenas de conexion desde .NET para SQL Server 2005

Y que tipos de cadenas de conexion hay para oracle?

Monday, November 12, 2007 11:07 PM por Luis

# Instalar un ASP.NET Statert Kit, paso a paso

Se lo debo a un amigo, y en general que sea para la comunidad. Por cierto, no voy a comentar sobre la

Friday, January 18, 2008 5:55 PM por ASP.NET Espanol Blogs

# re: cadenas de conexion desde .NET para SQL Server 2005

HE CONSULTADO TU PAGINA PARA VER LA CONEXION Y ME HA FUNCIONADA DE MARAVILLA

SOLAMENTE QUE ESTOY CONECTANDOME DESDE UNA VERSION DE SQL DEVELOPER EDITION

Thursday, February 28, 2008 8:06 PM por ELIO RIVAS

# re: cadenas de conexion desde .NET para SQL Server 2005

HE CONSULTADO TU PAGINA PARA VER LA CONEXION Y ME HA FUNCIONADA DE MARAVILLA

SOLAMENTE QUE ESTOY CONECTANDOME DESDE UNA VERSION DE SQL DEVELOPER EDITION

"Data Source=SERVIDOR;Initial Catalog=DATABASE;Integrated Security=True"

Thursday, February 28, 2008 8:07 PM por ELIO RIVAS

# re: cadenas de conexion desde .NET para SQL Server 2005

Hola bueno primera vez q foreo asi  q espero no molestar bueno soyestudiante de ing de sistemas y estoy llevando el curso de .NET qusiera saber si ustedes podrian decirme o darme alguna pagina o lugar donde puedo ver mas sobre las diferentes etiquetas del VB.net ya q tengo o estudio el .NET 2005 y quiero usar el sql 2000 agradeceria su ayuda me despido esperando una ayuda ok y bye cdnse

Wednesday, April 30, 2008 4:31 AM por Skyville

# re: cadenas de conexion desde .NET para SQL Server 2005

hola es que tengo esta conexion y no me sirve cuando me cuando quiero conectarme a la base de datos desde otro equipo espero me saquen de la duda

  cadena = @"Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=MERIDIANO_SISTEMAS;Data Source=SISTEMAS\SQLEXPRESS";

Monday, May 19, 2008 4:33 PM por julio

# re: cadenas de conexion desde .NET para SQL Server 2005

Quizas esta pagina te sirva, tiene un listado completo de muchas cadenas de conexion

http://freakdb.blogspot.com/

Saludos, Juan

Thursday, August 28, 2008 4:01 AM por Juan Gonzalez

# re: cadenas de conexion desde .NET para SQL Server 2005

Es posible implementar una coneccion IP con SQL Server 2000? Si es asi, la cadena de coneccion es igual? que capacidades (cursores) soporta? Soporta transacciones con coneccion IP?

Saturday, September 20, 2008 8:47 PM por Carlos

# re: cadenas de conexion desde .NET para SQL Server 2005

Buenos dias Sergio Tarrillo.

Estoy realmente desesperado, tengo la cadena de conexión bien construida, connectionString="Data Source=TECNORA14\NEXUS;Initial Catalog=TECNORA;Persist Security Info=False; User Id=sa; password=*****", el problema es que a la hora de abrir una conexión me salta el error 40 de Microsoft, que dice: "Error mientras se establecía la conexión con el servidor. Al conectar con SQL Server 2005, el error se puede producir porque la configuración predeterminada de SQL Server no admite conexiones remotas. (provider: Proveedor de canalizaciones con nombre, error: 40 - No se pudo abrir una conexión con SQL Server)"

He provado infinidad de cosas y no se que hacer, me puedes sugerir alguna cosa?

Tuesday, September 23, 2008 9:45 AM por Pascual

# re: cadenas de conexion desde .NET para SQL Server 2005

Solo por preguntar Pascual, arreglaste el problema de la conexion ?

Wednesday, October 1, 2008 9:23 PM por Alex

# re: cadenas de conexion desde .NET para SQL Server 2005

tengo una pregunta logre conectar a sqlserver express 2005 pero aunque el stringconnect me devuelve que estoy conectado no logro hacer una consulta...

este es el string

"Driver={SQL Server};Server=ip_de_pc\SQLEXPRESS;Database=bd;trusted connection=true;"

es una conexion remonata en sqlserver express

que me dicen gracias de anticipado

Thursday, February 19, 2009 3:57 PM por Ramon Brito

# re: cadenas de conexion desde .NET para SQL Server 2005

tengo una pregunta logre conectar a sqlserver express 2005 pero aunque el stringconnect me devuelve que estoy conectado no logro hacer una consulta...

este es el string

"Driver={SQL Server};Server=ip_de_pc\SQLEXPRESS;Database=bd;trusted connection=true;"

es una conexion remonata en sqlserver express

que me dicen gracias de anticipado

Thursday, February 19, 2009 3:57 PM por Ramon Brito

# error de conexion

Hola a todo estoy trabajando en mi tesis con .net 2005 y sql server 2005 y tengo errores en la conexion al servidor....me dice algo sobre el usuario o que no se admite conexion remota o algo ahora no tengo los errores concreto lo siento...agradezco cualquier ayuda...gracias

Friday, March 6, 2009 12:48 AM por jhon3h

# re: cadenas de conexion desde .NET para SQL Server 2005

hola chicos estoy coemnzando a estudiar esto de las cadenas de conecciones necesito cualquiera ayuda qu eme pueda servir para ir al ritmo de todos no se que usar ni cuando estoy en cero podrian ayudarme

Thursday, March 12, 2009 2:03 PM por Mnunez

# re: cadenas de conexion desde .NET para SQL Server 2005

Viejo, mi problema es todo, jaja, yo tengo SQL server 2005. lo q no se es si el usuario es el d Windows o el d la conexion de motor d base d datos, ademas en ninguno d los dos tengo contraseña, q hago en ese caso. el Initial Catalog, es el nombre de la base d datos?? Gracias.

Sunday, March 29, 2009 7:17 AM por Fernando

# re: cadenas de conexion desde .NET para SQL Server 2005

Estoy realmente desesperada, tengo la cadena de conexión bien construida, dd name="BDEXPEDIENTEREGISTROConnectionString3" connectionString="Data Source=PNSCWS123;Initial Catalog=sa;User ID=lcban;Password=xxxxx"  providerName="System.Data.SqlClient" />el problema es que a la hora de abrir una conexión me salta el error 40 de Microsoft, que dice: "Error mientras se establecía la conexión con el servidor. Al conectar con SQL Server 2005, el error se puede producir porque la configuración predeterminada de SQL Server no admite conexiones remotas. (provider: Proveedor de canalizaciones con nombre, error: 40 - No se pudo abrir una conexión con SQL Server)"

Thursday, April 2, 2009 11:28 PM por lcban

# re: cadenas de conexion desde .NET para SQL Server 2005

No sé por donde empezar pero hace cinco meses que no puedo con sql 2005 express todo lo que sale en la web de ayuda lo intenté el error 26 o el error 40 persiste, así es que estoy trabajando con oledb con access enlazado con vb.net 2008.

Pero quiero actualizarme con sql, lo único que me queda por hacer es desinstalarlo y volverlo a instalar si alguien lo a hecho sin tener problemas envíenme cómo?.

Saludosss.

Friday, May 1, 2009 4:02 PM por Esteban

# re: cadenas de conexion desde .NET para SQL Server 2005

@lcban: Estas usando el SQL Server 2005 Express ?

Friday, May 1, 2009 6:05 PM por Alejandro

# re: cadenas de conexion desde .NET para SQL Server enterprice manager

hola a todos , necesito una cadena conecion para asp.net con c# para conectarme a sql server enterprice manager 2000.

si me ayudan???

Wednesday, June 24, 2009 7:56 AM por gaby

# re: cadenas de conexion desde .NET para SQL Server 2005

Interesante el foro... bueno tuve el error paracedido al de estaban sobre (provider: interface de red sql, error: 26 - error al buscar el servidor o instancia especificado)y como tambien el eror 40; en este caso con sql express y vb.net 2005; lo unico qeu hice es habilitar las conexiones remotas como dice sergio y luego hacer algunas modificaciones en mi cade de conexio aca los dejo. Public Conex As New SqlConnection("data source=xxx\sqlExpress; Initial Catalog=xxx; user id=xx; password=xxx"); espero que sea util...

Saturday, July 11, 2009 5:23 PM por Had

# re: cadenas de conexion desde .NET para SQL Server 2005

DataGridView1

Tuesday, September 8, 2009 6:46 PM por DataGridView1

# re: cadenas de conexion desde .NET para SQL Server 2005

Hi I need some help for connection string sintax using sql server 2005

I know that if i use SQl express edition i have to write:      server=.\sqlExpress

      and       if i use sql server 2005 i have to write :      server=myServerAdress    , (??) ,But   i've tried with : server=dell2 (name of my computer) or  server=sql   or server=sql server 2005    or server= C\mydocuments\programs\sql    and  all of this have failed

Sunday, September 20, 2009 12:33 PM por RC

# re: cadenas de conexion desde .NET para SQL Server 2005

bueno hace tiempo que no programa en visual.net empece con 2003 y resien estoy con 2005 aun asi hay varias formas , saque esto del guille hasta un solo punto a

'------------------

Try

Dim Conn As SqlConnection = New SqlConnection("Data Source=(local)\SQLEXPRESS;Initial Catalog=MIBASE;Integrated Security=True")

Conn.Open()

Dim sSel As String = "SELECT * FROM TABLA"

           Dim da As SqlDataAdapter

           Dim dt As New DataTable

           da = New SqlDataAdapter(sSel, Conn)

           da.Fill(dt)

           Me.DataGridView1.DataSource = dt

           'Me.DataGridView1.DataBind()

           'Me.DataGridView1.DataGridViewControlCollection()

           LabelInfo.Text = String.Format("Total datos en la tabla: {0}", dt.Rows.Count)

       Catch ex As Exception

           'LabelInfo.Text = "Error: " & ex.Message

       End Try

       ' Me.ReportViewer1.RefreshReport()

'----------

solamente agrequen un label y un DataGridView1 al formulario ,, saludos

zeroyevi@hotmail.com

si alguien me ayuda o necesita ayuda

Thursday, November 26, 2009 2:16 PM por fernando yevenes

# re: cadenas de conexion desde .NET para SQL Server 2005

hola gracias estoy trabajando con vb express y con sql express tbn y no podia conectarlos

ya que ponia como primer parametro en dim cn as newsqlconnection "server=(local)",

pero ahora con "Data Source=(local)\SQLEXPRESS"

gracias

Saturday, February 13, 2010 4:36 PM por manuel

# re: Seguridad cadenas de conexion desde .NET para SQL Server 2005

Hola!

Quisiera saber que tecnica de encriptacion puedo usar para establecer una consulta desde una aplicacion en C# a un PC con una BD en SQL Server.

Pasa que utilizo un sniffer en mi red y logro capturarlas consultas con todas las contraseñas y usuarios.

Si alguien puede ayudarme!...Gracias.

Wednesday, April 14, 2010 6:52 AM por Caesar

# re: cadenas de conexion desde .NET para SQL Server 2005

@Dan, para las conexiones en red sólo debes colocar el nombre del servidor en tu cadena.

@SABRINA, podría ser por las credenciales.

@Antonio, cómo declaraste el alias, podría funcionar si usas el archivo .htdocs

@Dennis, en tu servidor debes habilitar el puerto de SQL, por otro lado deberías contar con una IP privada para poder salir.

@alexis, gracias por el enlace.

@Luis, para Oracle hay otro tema con respecto al tsnnames, pero revisa esta página: www.connectionstrings.com/oracle

@Skyville, etiquetas? si te refieres al contenido que puede tener un connection string peudes visitar: msdn.microsoft.com/.../system.data.sqlclient.sqlconnection.connectionstring%28VS.80%29.aspx

@julio, podría ser por los permisos de RED.

@Juan Gonzalez, gracias.

@Carlos, si puede hablitar por IP (previas configuraciones), y soporta todo lo que dispone SQL Server.

@Pascual, debes habilitar las conexiones remotas (por defecto no viene en SQL Express, y SQL Developer Edition)

@Ramon Brito, podría ser por permisos en la base de datos.

@jhon3h, debes habilitar las conexiones remotas para SQL Express.

@Mnuñez, revisa el siguiente enlace: www.microsoft.com/.../cursosonline.mspx

@Fernando, si initial catalog es la base de datos. Si no tienes los usaurios, vuelve a instalar SQL

@lcban, @Esteban, debes instalar las conexiones remotas: geeks.ms/.../6779.aspx

@gaby, puedes tomar uno de los ejemplos de arriba.

@Caesar, Revisa los siguientes artículos: geeks.ms/.../paranoid-cifrado-de-datos-en-sql-server-2005.aspx, geeks.ms/.../191-c-243-mo-cifrar-los-backups-files-en-sql-server-2005.aspx.

Saludos,

Saturday, May 1, 2010 2:46 AM por Sergio Tarrillo

# re: cadenas de conexion desde .NET para SQL Server 2005

Gracias Por la Informacion esta muy util,

tenia el mismo problema q todos al conectar asp.net con sql server 2005,

el problema era la cadena de conexion

siguiendo este tuturial q recomendaron mas arriba funciono

www.mistrucos.net/truco-sql-server-2005-crear-una-cadena-de-conexion-692_1.htm

al final de probar la conexion , y abrir el archivo con el block de notas, se genero una cadena de conexion , copie la cadena el codigo fuente de mi programa y funciono.

aunque le tuve que quitar el primer atributo a la cadena "Provider"

todo es cosa de que pruebas la cadena de conexion adecuada para tu aplicacion

Wednesday, October 6, 2010 11:48 PM por David

# re: cadenas de conexion desde C# .2008

hola soy nuevo en esto de las bases de datos por internet y la vdd es que estoy trabando en un sistema con base de datos sql server 2008 y C# y quisiera saber como puedo crear un servidor o como puedo acer para que otras computadoras con internet entren a mi base de datos centras osea el servidor... alguien conoce alguna pagina para aprender como crear servidores y todo eso

Tuesday, November 9, 2010 1:22 AM por luis