none
Error: 26 - Error al buscar el servidor o instancia especificado que funciona en ocaciones

    Pregunta

  • Hola, un cordial saludo a la comunidad y a todos los foristas. El problema es el siguiente:

    Tengo una aplicación web desarrollada en ASP.NET con VS2010. La he publicado en el IIS. Esta aplicación hace una conexión a una base de datos de SQL Server 2005. Mi aplicación web funciona con autenticación forms, así que tengo una página llamada login.aspx. Esta página tiene 2 combos para seleccionar unos datos antes de indicar el usuario y contraseña en la misma página. Los combos se cargan correctamente mediante un connectioString que es el siguiente:

     <add name="bdsirConnectionString" connectionString="Data Source=192.168.x.x;Initial Catalog=BDSIR;Persist Security Info=True;User ID=xxxx;Password=xxxxxx" providerName="System.Data.SqlClient"/>
    
    
    
    

    Esta misma cadena de conexión la establecí como una variable global en una clase de mi solución para usarla en objetos SqlConnection, copiándola para evitar errores de digitación, de la siguiente forma:

    Public cnstr As String = "Data Source=192.168.x.x;Initial Catalog=BDSIR;Persist Security Info=True;User ID=xxxx;Password=xxxxxx"
     cnn = New SqlConnection(VariablesGlobales.cnstr)
    
    
    
     cnn.Open()

    El error, que a diferencia de otros similares, se presenta cuando le doy iniciar sesión, la página demora un rato y luego muestra el siguiente error:

    Error de servidor en la aplicación '/sir'.
    
    
    
    --------------------------------------------------------------------------------
    
    
    
    Error relacionado con la red o específico de la instancia mientras se establecía una conexión con el servidor SQL Server. No se encontró el servidor o éste no estaba accesible. Compruebe que el nombre de la instancia es correcto y que SQL Server está configurado para admitir conexiones remotas. (provider: Interfaces de red SQL, error: 26 - Error al buscar el servidor o instancia especificado) 
    
    
    
    
    
    
    
    Descripción: Excepción no controlada al ejecutar la solicitud Web actual. Revise el seguimiento de la pila para obtener más información acerca del error y dónde se originó en el código. 
    
    
    
    

    La cuestión es que aveces logro que se conecte y se inicie la sesión cuando duarante la solicitud de login le doy clic a otro enlace, luego cuando regreso a las páginas privadas aparezco logeado. En ese momento cuando ingrerso a una de esas páginas me aparece un error de "no se ha establecido el tipo Culture", por el estilo, y solamente es recargar la página y funciona. Pero de este caso anterior solo se da una vez cada 20 intentos, por decir.

    Este es el seguimiento de pila:

    Seguimiento de la pila: 
    
    
    
    
    
    
    
    [SqlException (0x80131904): Error relacionado con la red o específico de la instancia mientras se establecía una conexión con el servidor SQL Server. No se encontró el servidor o éste no estaba accesible. Compruebe que el nombre de la instancia es correcto y que SQL Server está configurado para admitir conexiones remotas. (provider: Interfaces de red SQL, error: 26 - Error al buscar el servidor o instancia especificado)]
    
    
    
     System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +4846887
    
    
    
     System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +194
    
    
    
     System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, SqlConnection owningObject) +4860189
    
    
    
     System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject) +90
    
    
    
     System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart) +376
    
    
    
     System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) +221
    
    
    
     System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) +189
    
    
    
     System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) +4861315
    
    
    
     System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) +31
    
    
    
     System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) +433
    
    
    
     System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) +66
    
    
    
     System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) +499
    
    
    
     System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +65
    
    
    
     System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +117
    
    
    
     System.Data.SqlClient.SqlConnection.Open() +122
    
    
    
     System.Web.DataAccess.SqlConnectionHolder.Open(HttpContext context, Boolean revertImpersonate) +87
    
    
    
     System.Web.DataAccess.SqlConnectionHelper.GetConnection(String connectionString, Boolean revertImpersonation) +221
    
    
    
     System.Web.Security.SqlMembershipProvider.GetPasswordWithFormat(String username, Boolean updateLastLoginActivityDate, Int32& status, String& password, Int32& passwordFormat, String& passwordSalt, Int32& failedPasswordAttemptCount, Int32& failedPasswordAnswerAttemptCount, Boolean& isApproved, DateTime& lastLoginDate, DateTime& lastActivityDate) +815
    
    
    
     System.Web.Security.SqlMembershipProvider.CheckPassword(String username, String password, Boolean updateLastLoginActivityDate, Boolean failIfNotApproved, String& salt, Int32& passwordFormat) +105
    
    
    
     System.Web.Security.SqlMembershipProvider.CheckPassword(String username, String password, Boolean updateLastLoginActivityDate, Boolean failIfNotApproved) +42
    
    
    
     System.Web.Security.SqlMembershipProvider.ValidateUser(String username, String password) +78
    
    
    
     System.Web.UI.WebControls.Login.AuthenticateUsingMembershipProvider(AuthenticateEventArgs e) +60
    
    
    
     System.Web.UI.WebControls.Login.OnAuthenticate(AuthenticateEventArgs e) +119
    
    
    
     System.Web.UI.WebControls.Login.AttemptLogin() +115
    
    
    
     System.Web.UI.WebControls.Login.OnBubbleEvent(Object source, EventArgs e) +101
    
    
    
     System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +37
    
    
    
     System.Web.UI.WebControls.Button.OnCommand(CommandEventArgs e) +118
    
    
    
     System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +166
    
    
    
     System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
    
    
    
     System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
    
    
    
     System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
    
    
    
     System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565
    
    
    
    
    
    
    
     
    
    
    
    
    
    
    
    
    
    
    
    --------------------------------------------------------------------------------
    
    
    
    Información de versión: Versión de Microsoft .NET Framework:2.0.50727.3082; Versión ASP.NET:2.0.50727.3082 

    He intentado cambiando la primera linea de login.asp, cambiando el valor de AutoEventWireup por True, sin lograr nada.

    <%@ Page Language="VB" MasterPageFile="~/design/Maestra.master" AutoEventWireup="true" CodeFile="Login.aspx.vb" Inherits="Default2" title="S.I.R. - Inicio de Sesión" %>
    
    
    
    

    También sé que no es un error del servidor que no permita conexiones remotas pues entonces no cargaría los combos. Adicional cuando estoy en mi máquina de desarrollo realizando las pruebas, NO SE GENERA ESE ERROR.

    Llega correctamente a la parte de:

    FormsAuthentication.RedirectFromLoginPage(Login1.UserName,

    True)

     

    De antemano, gracias por su atención y espero que esto nos sea útil a todos.

    • Editado Javier Pardo jueves, 23 de septiembre de 2010 18:07 Especificacion en máquina de desarrollo
    martes, 21 de septiembre de 2010 18:14

Respuestas

  • Saludos foristas,

    Bueno pues hoy 4 de octubre de 2010 logré ingresar y evitar el error 26. Lo que realicé durante todo este proceso me encontré con infinidad de foros y de soluciones diferentes a problemas relacionados, incluso aprendí algo más acerca de las configuraciones de ASP.NET

    Entre dichos foros o blogs, tengo que agradecer en parte al blog de jonas, con el que me acerqué mas a este asunto de que el Visul Studio tenga que crear un base de datos propia para administrar las configuraciones del sitio.

    Primero que todo, utilicé el blog de Francisco Javier Carbajosa, donde habla sobre la Membresía de ASP.NET 2.0.

    http://geeks.ms/blogs/fjcarbajosa/archive/2007/02/22/membres-a-de-asp-net-2-0-i.aspx

    Allí cambié la configuracion de la etiqueta <connectionStrings>, quitando la conexión que crea por defecto el Visual Studio de LocalSqlServer, y luego

    creándola nuevamente con la configuración propia de mi proyecto.

    <connectionStrings>
        <remove name="LocalSqlServer"></remove>
        <add name="LocalSqlServer" connectionString="Data Source=xx;Initial Catalog=BDSIR;Persist Security Info=True;User ID=xx;Password=xx"
        providerName="System.Data.SqlClient" />
        <add name="bdsirConnectionString"
             connectionString="Data Source=xx;Initial Catalog=BDSIR;Persist Security Info=True;User ID=xx;Password=xx"
             providerName="System.Data.SqlClient"/>
       
        <!--AttachDbFilename =|DataDirectory|\Public_html\App_Data\ASPNET.MDF;-->
      </connectionStrings>

    Luego se me genero un error donde me decía que no encontraba un procedimiento propio de Visual Studio. (validate_Schema)

    Paralelamente ejecuté el ejecutable aspnet_regsql.exe que describe mejor "jonas" en su blog, con la configuracion de mi base de datos y servidor


    http://labloguera.net/blogs/jonas/default.aspx?p=2

    Con esto logré evitar el error 26 y espero no se vuelva a generar por asuntos propios del VS. Al final tenía en mi web.config varias secciones comentadas, pero que no estoy seguro si realmente influyen:

    <configSections> dentro de <configuration>
    <modules> dentro de <system.webServer>

    espero aclarar esas dudas. Y bueno por lo demás, estos son los cambios de los que estoy consiente de haber realizado y espero le sirva a muchos más.

    Por cierto el asunto con la ASPNETDB.MDF.

    Resulta que el dichoso archivo se crea automáticamente por el VS, no se porque en otro proyecto no ha pasado lo mismo, pero en el mio sí. Para poder

    publicar correctamente, había que ir al menú Ver>Explorador de servidores. Allí, dar clic a Conexiones de datos y luego en el archivo de base de datos ASPNETDB.MDF clic derecho y Eliminar. Ahora sí pude publicar.

    Por todo esto no hubo necesidad de configurar nada en el servidor, ni tampoco dar acceso a una cuenta 'NT AUTHORITY \ Servicio de red'.

    Muchas gracias y espero no encontrarme con una nueva excepción "Error 26" por ahora. Gracias Enmanuel.

    • Marcado como respuesta Javier Pardo lunes, 04 de octubre de 2010 23:00
    lunes, 04 de octubre de 2010 23:00

Todas las respuestas

  • hola,

    Algo que veo en tu connectionString que usted pone el nombre del Servidor con la IP  rerecomiendo que le ponga el nombre como se llama esa intancia ya que puede varios casos 

    1- Si deciden Cambiarle la Ip al servidor puede que la aplicacion no te funciones  pero si la pone con el nombre de la instancia auque cambie la Ip te vas a funcionar toma encuenta eso amigo..

    Error de servidor en la aplicación '/sir'.
    --------------------------------------------------------------------------------
    Error relacionado con la red o específico de la instancia mientras se establecía una conexión con el servidor SQL Server. No se encontró el servidor o éste no estaba accesible. Compruebe que el nombre de la instancia es correcto y que SQL Server está configurado para admitir conexiones remotas. (provider: Interfaces de red SQL, error: 26 - Error al buscar el servidor o instancia especificado) 

    Ese Error es porque no Encuentra la IP que pudiste el conectionString cambial por su nombre 


    Enmanuel Grullard@Developer ASP.NET
    • Propuesto como respuesta Enmanuel Grullard martes, 21 de septiembre de 2010 19:18
    • Votado como útil Javier Pardo jueves, 23 de septiembre de 2010 17:35
    martes, 21 de septiembre de 2010 19:18
  • Hola Enmanuel,

    Aunque aún no he intentado, quedo con la duda de ¿porqué funciona entonces para cargar los combos?...

    Voy a intentar y te aviso.

    Gracias.

    martes, 21 de septiembre de 2010 21:33
  • Saludos,

    Intenté cambiando la IP por el nombre de la Instancia consiguiendo el mismo resultado. Se cargan los combos, pero se genera el mismo error 26, luego de pasar la linea

    FormsAuthentication.RedirectFromLoginPage(Login1.UserName,

     

     

    Atento a comentarios.

    True)
    martes, 21 de septiembre de 2010 21:49
  • hola ,

    >Intenté cambiando la IP por el nombre de la Instancia consiguiendo el mismo resultado. Se cargan los combos,

    >pero se genera el mismo error 26, luego de pasar la linea

     

    Lo que me encuentro estraño es que si esta utilizando  la misma conection para lo combos no te deria funcionar por que esta utilizanado una intancia que no existe  eso es lo que dice cuando tenga logiarte con la pagina de login  ponle un brekpoint y dugeala y ve paso por paso y confirma si esoy la misma intancia  para el combo como para el login  .

     

    Nota

    verificate unos de estoy punto y dime cuales de eso tu cumple ?


    Has cambiado la IP del servidor SQL o el nombre de máquina?

    Has comprobado que SQL Server admite conexiones remotas?

    Que los firewall de los clientes no están bloqueando el acceso?



    Enmanuel Grullard@Developer ASP.NET
    martes, 21 de septiembre de 2010 23:21
  • hola,

    Bueno Dias  Todavia no has podido Resover tu problema ?

    observa este enlace sobre una solucion del Error 26 espero por fin pueda resolver 

    http://social.msdn.microsoft.com/forums/en-US/sqlgetstarted/thread/9354bf59-15a2-49f4-bc1f-f45371e054fc/

     

    un saludo.

     


    Enmanuel Grullard@Developer ASP.NET
    • Propuesto como respuesta Enmanuel Grullard miércoles, 22 de septiembre de 2010 13:59
    • Votado como útil Javier Pardo jueves, 23 de septiembre de 2010 21:00
    miércoles, 22 de septiembre de 2010 13:53
  • Saludos,

    Efectivamente es la misma cadena de conexión la que utiliza para cargar los combos, como para el proceso de login, así que no hay variación entre una y otra conexión.

     

    1ro. la IP de la máquina no se ha cambiado, ni el nombre de la máquina, ya que muchos otros servicios adicionales a mi proyecto utilizan la misma máquina como servidor (Otras páginas web).

    2do. con lo anterior, contesto tu pregunta. Si acepta conexiones remotas.

    3ro. deshabilité el firewall del cliente donde la miro desde internet consiguiendo el mismo resultado. Error 26.

    Por otra parte, quisiera preguntarte porque el proyecto crea una base de datos propia cada vez que la elimino? App_Data>ASPDB.NET

    ¿Tendrá algo quever con eso?

    • Editado Javier Pardo jueves, 23 de septiembre de 2010 17:46 modificacion respuesta
    jueves, 23 de septiembre de 2010 17:45
  • Hola, miré ese blog en http://blogs.msdn.com/b/sql_protocols/archive/2007/05/13/sql-network-interfaces-error-26-error-locating-server-instance-specified.aspx

    Y con el Port Query  ejecute la linea de comando y funcionó la conexión por el puerto 1434.

    =============================================

     Starting portqry.exe -n ANDROMEDA -e 1434 -p TCP ...


    Querying target system called:

     ANDROMEDA

    Attempting to resolve name to IP address...

    Name resolved to 192.168.4.4

    querying...

    TCP port 1434 (ms-sql-m service): FILTERED
    portqry.exe -n ANDROMEDA -e 1434 -p TCP exits with return code 0x00000002.

     

    jueves, 23 de septiembre de 2010 18:46
  • Hola ,

    Pero en unos de los comentarios que te pase te hablaba de eso  observa la consercacion que te comente  o no  no abriste el link que te mande 

     

    Bueno Dias  Todavia no has podido Resover tu problema ?

    observa este enlace sobre una solucion del Error 26 espero por fin pueda resolver 

    http://social.msdn.microsoft.com/forums/en-US/sqlgetstarted/thread/9354bf59-15a2-49f4-bc1f-f45371e054fc/

     En esta conversacion sobre el Port 1434 en poca palabra te habia dado la solucion anteriormente  ajajaja

     

     


    Enmanuel Grullard@Developer ASP.NET
    jueves, 23 de septiembre de 2010 19:05
  • Hola Enmanuel,

    Efectivamente si lei ese artículo que no me dió resultado. Luego en ese mismo artículo, había un link a un blog que hablaba del puerto 1434. Se habilitó y no conseguí corregir el error, sigue saliendo el mismo error. Este error me ha estado quitando tiempo y adicional, los compañeros de trabajo también me han estado ayudando, pero se  riendieron. Yo no puedo hacer eso. Debo seguir investigando, ya que no logro dar con la solución.

    Como te comenté, puedo lograr quedar como "logged in" cuando doy clic a otro enlace antes que termine la solicitud con el servidor web mi página de login.aspx.

    Es decir, hay un proceso que luego de dar clic al botón "Iniciar sesión" me termina la conexión o la modifica.

    mira este es el código del método button_click de Login.aspx

    Protected Sub LoginButton_Click(ByVal sender As Object, ByVal e As System.EventArgs)
    
      Try
       Dim aceptado As Boolean = False 'Indica si el acceso ha sido aprobado
       ' Convertir a SHA1 la clave introducida
       Dim claveSHA As String = FormsAuthentication.HashPasswordForStoringInConfigFile(Login1.Password, "SHA1")
    
    
       If CInt(Session("Empresa")) <= 0 Or CInt(Session("Porteria")) <= 0 Then
        lblMensajeEmpresa.Visible = True
        lblMensajeEmpresa.Text = "Seleccione la empresa y la porteria antes de continuar"
        Exit Sub
       Else
        lblMensajeEmpresa.Visible = False
       End If
    
       'Enviar parámetros a la función con la contraseña encryptada
       If ComprobarUsuario(Login1.UserName.ToLower, claveSHA) Then
    
        'Usuario y Contraseña correctos
    
        'registrar acceso
        Session("IdAcceso") = claseGeneral.RegistrarAcceso(lnUsuario, lnEmpresa, strUsuario, CInt(Session("Porteria")))
    
        'Redireccionar a la página solicitada
        FormsAuthentication.RedirectFromLoginPage(Login1.UserName, True)
    
       Else
    
        ' sino.. a la de error de login
        Login1.FailureText = "Error: Fallo de autenticación. Vuelva a intentarlo"
        'Response.Redirect("Candemor.aspx")
    
       End If
    
      Catch ex As Exception
       MsgBox("Error al extraer datos: " & Err.Description, MsgBoxStyle.Critical, claseGeneral.StrNomProgram())
      End Try
    
    
     End Sub

    Todo funciona correctamente hasta terminar el método, pues compara el usuario y registra el acceso. Pero una vez termina el método, "ALGO" hace que se genere el error 26.

    Que puede ser? ya lei esos artículos que se refieren más a la conexión con SQL Server, que a alguna configuración propia del proyecto.

    Gracias

    • Editado Javier Pardo jueves, 23 de septiembre de 2010 21:03 Cohesión
    jueves, 23 de septiembre de 2010 20:52
  • hola,

    Buscando por ahi busque en un foro una respuestsa de un joven que decia lo siguiente  , aver si sigue eso paso para solucionar tu problema

     

     

    Detalles de la excepción: System.Data.SqlClient.SqlException: A-relacionados o una instancia específica de errores de red al establecer una conexión con SQL Server. El servidor no se encontró o no accesible. Compruebe que el nombre de instancia es correcta y que SQL Server está configurado para permitir conexiones remotas. (Provider: Interfaces de red SQL, error: 26 - Error al buscar el servidor / instancia especificado) 

    SQL Server (Express 2008) Estudio de Gestión 
    Microsoft Visual C # 2008 Express Edition 
    Microsoft Visual Web Developer 2008 Express Edition 

    Cuando se utiliza MVWD y crear un sitio web mvwd que se abre una base de datos utiliza el IDE 
    connectionString = "Data Source = MyServer \ SQLEXPRESS; Initial Catalog = MyDatabase; Integrated Security = True" 
    providerName = "System.Data.SqlClient" 
    en el archivo web.config si utiliza un control de cuadrícula aspx 

    Asumiendo que publicar un Sitio Web de Información de Servicios de Internet (por ejemplo, http:// localhost / MySite c: \ inetpub \ wwwroot \ MySite) 
    cambiar la entrada de la siguiente manera 
    connectionString = "Data Source =;. \ SQLEXPRESS Initial Catalog = MyDatabase; Integrated Security = True" 
    providerName = "System.Data.SqlClient" 

    SQL Server Management Studio en el Administrador de configuración probablemente va a correr 'NT AUTHORITY \ Servicio de red' LogOnAs 
    Usted también puede tener que realizar las siguientes adiciones 
    Utilice MyDatabase 
    ir 
    sp_grantlogin 'NT AUTHORITY \ Servicio de red' 
    ir 

    Cheque del Seguro> inicios de sesión doble clic en 'NT AUTHORITY \ Servicio de red' 
    y ver las asignaciones de los usuarios para MyDatabase 
    Por último puede que tenga que ejecutar REFERENCIAS GRANT, SELECT, INSERT, DELETE, UPDATE ON "MyTable" A "público" 
    dependiendo de la naturaleza de su seguridad y el acceso a las tablas de la base de datos en la página web.



    Enmanuel Grullard@Developer ASP.NET
    • Propuesto como respuesta Enmanuel Grullard viernes, 24 de septiembre de 2010 14:40
    • Votado como útil Javier Pardo lunes, 04 de octubre de 2010 16:49
    viernes, 24 de septiembre de 2010 14:40
  • Saludos, Disculpa que no haya respondido antes, pero estuve fuera de este proyecto un tiempo, resolviendo otro asunto. Ahora que regreso y leo tu propuesta, existen cosas que no comprendo muy bien. Si tradujiste el texto, lo podrías poner en su idioma original? Quiero saber si estoy algo confundido con esa traducción.

    Por otra parte, inicié a crear desde cero la aplicación WEB y tiene mucho sentido esta última propuesta que me brindas, por lo que anteriormente cuando eliminaba el App_Data se mostraba un mensaje como el siguiente:

     

    Error de creación automática del archivo de la base de datos de SQLExpress:

    La cadena de conexión especifica una instancia de Sql Server Express local que utiliza una ubicación de base de datos dentro del directorio App_Data de las aplicaciones. El proveedor intentó crear automáticamente la base de datos de servicios de la aplicación porque determinó que la base de datos no existe. Los siguientes requisitos de configuración son necesarios para comprobar correctamente la existencia de la base de datos de los servicios de la aplicación y crear automáticamente dicha base de datos:

     

    Asi que, en algún momento cambie mi conexión al equipo remoto por una conexión local y esta vez, en el código, en la parte del Try Catch, logré capturar el mismo error, pero controlado en la parte del catch y no en una página de error como lo hace por defecto el Visual Studio.

    Agradezco la atención.

    viernes, 01 de octubre de 2010 20:00
  • Tengo una nueva percepción del problema y surge directamente del Visual Studio 2008.

    En la parte de Exploración de proyectos, a la carpeta App_Data le doy clic derecho, Agregar nuevo elemento...,Base de Datos de SQL y Agregar.

    Resultado: se muestra el error

     

    Error mientras se establecia conexion 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: Interfaces de red SQL, error: 26 - Error al buscar servidor o instancia especificado).

    Luego, en mi local, miro el SQL Server Configuration y veo que el servicio de SQL Server (SQLEXPRESS), está detenido, luego haciendo cambios en el puerto a 1434 logro iniciarlo. A continuación regreso a Visual Studio a agregar de nuevo la base de datos y se agrega la base datos correctamente.

    Todo esto con el fin de dar más ideas de lo que debe pasar en el otro servidor y de porqué se debe generar un archivo de base de datos que no utilizo, y además que genera una instancia local.

     

    Atento a comentarios

    viernes, 01 de octubre de 2010 21:13
  • Para adicionar al curso del desarrollo del problema, en el desarrollo web de MVWD las conexiones me funcionan a la perfección cuando estoy haciendo las pruebas en mi equipo local, pero al intentar publicar sale el siguiente mensaje:

     

    El proceso no puede obtener acceso al archivo "E:\..\..\ASPNETDB.MDF" porque está siendo utilizado en otro proceso


     Sin embargo, no tengo dicho archivo sino un .MDF con otro nombre. Tampoco le estoy dando uso a ese archivo, aunque veo que el VS sí. Además, cuando termino un proceso de SQL SERVER en el administrador de tareas, me deja publicar sin problemas, pero luego en mi equipo local al ejecutar mi proyecto me genera el mismo error con el que he estado intentando solucionar. Error 26.
     

    Gracias por la atención

     

    lunes, 04 de octubre de 2010 16:48
  • Saludos foristas,

    Bueno pues hoy 4 de octubre de 2010 logré ingresar y evitar el error 26. Lo que realicé durante todo este proceso me encontré con infinidad de foros y de soluciones diferentes a problemas relacionados, incluso aprendí algo más acerca de las configuraciones de ASP.NET

    Entre dichos foros o blogs, tengo que agradecer en parte al blog de jonas, con el que me acerqué mas a este asunto de que el Visul Studio tenga que crear un base de datos propia para administrar las configuraciones del sitio.

    Primero que todo, utilicé el blog de Francisco Javier Carbajosa, donde habla sobre la Membresía de ASP.NET 2.0.

    http://geeks.ms/blogs/fjcarbajosa/archive/2007/02/22/membres-a-de-asp-net-2-0-i.aspx

    Allí cambié la configuracion de la etiqueta <connectionStrings>, quitando la conexión que crea por defecto el Visual Studio de LocalSqlServer, y luego

    creándola nuevamente con la configuración propia de mi proyecto.

    <connectionStrings>
        <remove name="LocalSqlServer"></remove>
        <add name="LocalSqlServer" connectionString="Data Source=xx;Initial Catalog=BDSIR;Persist Security Info=True;User ID=xx;Password=xx"
        providerName="System.Data.SqlClient" />
        <add name="bdsirConnectionString"
             connectionString="Data Source=xx;Initial Catalog=BDSIR;Persist Security Info=True;User ID=xx;Password=xx"
             providerName="System.Data.SqlClient"/>
       
        <!--AttachDbFilename =|DataDirectory|\Public_html\App_Data\ASPNET.MDF;-->
      </connectionStrings>

    Luego se me genero un error donde me decía que no encontraba un procedimiento propio de Visual Studio. (validate_Schema)

    Paralelamente ejecuté el ejecutable aspnet_regsql.exe que describe mejor "jonas" en su blog, con la configuracion de mi base de datos y servidor


    http://labloguera.net/blogs/jonas/default.aspx?p=2

    Con esto logré evitar el error 26 y espero no se vuelva a generar por asuntos propios del VS. Al final tenía en mi web.config varias secciones comentadas, pero que no estoy seguro si realmente influyen:

    <configSections> dentro de <configuration>
    <modules> dentro de <system.webServer>

    espero aclarar esas dudas. Y bueno por lo demás, estos son los cambios de los que estoy consiente de haber realizado y espero le sirva a muchos más.

    Por cierto el asunto con la ASPNETDB.MDF.

    Resulta que el dichoso archivo se crea automáticamente por el VS, no se porque en otro proyecto no ha pasado lo mismo, pero en el mio sí. Para poder

    publicar correctamente, había que ir al menú Ver>Explorador de servidores. Allí, dar clic a Conexiones de datos y luego en el archivo de base de datos ASPNETDB.MDF clic derecho y Eliminar. Ahora sí pude publicar.

    Por todo esto no hubo necesidad de configurar nada en el servidor, ni tampoco dar acceso a una cuenta 'NT AUTHORITY \ Servicio de red'.

    Muchas gracias y espero no encontrarme con una nueva excepción "Error 26" por ahora. Gracias Enmanuel.

    • Marcado como respuesta Javier Pardo lunes, 04 de octubre de 2010 23:00
    lunes, 04 de octubre de 2010 23:00
  • Buenos dias Enmanuel, en mi servidor de SQL cambien la dirección IP de la tarjeta de red y desde ese momento perdi la coneccion con mis base de datos. ya he probado colocando en la nueva dirección en el SQL server configuration manager en la parte de protocolo.

     

    De antemano muchas gracias. 

    lunes, 30 de mayo de 2011 14:57
  • Yo tenia el mismo problema con Sql Server express 2008, lo que hice fue habilitar los protocolos TCP/IP y Canalizacion con nombres.

    Incio--Todos los Programas--MS Sql Server 2008-Herramientas de configuracion-

    --Protocolos de SQLEXPRESS--TCP/IP ( Habilitar, lo mismo con Canalizacion con Nombres).

     

     

    ... se que ya no necesitas la respuestas, pero la escribo para aquellos que todavia no han resuleto el problema.

     

    Saludos.. Ing Olivares

     

    • Propuesto como respuesta jl_olivares miércoles, 23 de noviembre de 2011 16:59
    miércoles, 23 de noviembre de 2011 16:58
  • Hola Enmanuel estoy interesado en el tema ya que tengo un problema similar... como es que puedo hacer esa configuración del "conectionString" y que riesgos puedo sufrir al aplicarlo??? 

    Un saludo y de verdad necesito una respuesta pronta.

    miércoles, 13 de junio de 2012 15:48
  • hola,

    Algo que veo en tu connectionString que usted pone el nombre del Servidor con la IP  rerecomiendo que le ponga el nombre como se llama esa intancia ya que puede varios casos 

    1- Si deciden Cambiarle la Ip al servidor puede que la aplicacion no te funciones  pero si la pone con el nombre de la instancia auque cambie la Ip te vas a funcionar toma encuenta eso amigo..

    Error de servidor en la aplicación '/sir'.
    --------------------------------------------------------------------------------
    Error relacionado con la red o específico de la instancia mientras se establecía una conexión con el servidor SQL Server. No se encontró el servidor o éste no estaba accesible. Compruebe que el nombre de la instancia es correcto y que SQL Server está configurado para admitir conexiones remotas. (provider: Interfaces de red SQL, error: 26 - Error al buscar el servidor o instancia especificado) 

    Ese Error es porque no Encuentra la IP que pudiste el conectionString cambial por su nombre 


    Enmanuel Grullard@Developer ASP.NET

    Hola Enmanuel estoy interesado en el tema ya que tengo un problema similar... como es que puedo hacer esa configuración del "conectionString" y que riesgos puedo sufrir al aplicarlo??? 

    Un saludo y de verdad necesito una respuesta pronta.


    miércoles, 13 de junio de 2012 21:04