none
Ayuda con el connection String MVC RRS feed

  • Pregunta

  • Hola, soy nuevo en esto de las aplicaciones MVC y me enfrento a mi primera subida a un hosting windows compartido en NEGOX. Tras un largo periplo, ya tengo toda la aplicacion subida y llevo horas enfrentandome con los connection string para poder enlazar a la base de datos que tambien esta ya en el hosting.

    Tras un largo intercambio de tickets con estos señores, dado que es la unica forma que tengo para contactar con ellos y antes de cancelar y anular dicho hosting, este es el ultimo recurso que me queda.

    El connection string que me dan estos señores es el siguiente:

    Server=[IP address];Database=[databaseName];Uid=[userName];Password=[userPassword];

    Data Source=[IP address];Initial Catalog=[databaseName];User ID=[userName];Password=[userPassword]

    Los que yo tengo en mi aplicacion MVC son estos otros:

    /* mi connection string que se utiliza en local */

        <add name="GesTall" connectionString="Data Source=(local);Initial Catalog=GesTall;Integrated Security=True;MultipleActiveResultSets=True;Application Name=EntityFramework" providerName="System.Data.SqlClient" />

    /* mi connection estring que se genera de forma automatica al insertar ENTITY FRAMEWORK en la apliccion */

        <add name="GesTallEntities" connectionString="metadata=res://*/Capa_datos.GesTall.csdl|res://*/Capa_datos.GesTall.ssdl|res://*/Capa_datos.GesTall.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=(local);initial catalog=GesTall;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />

    ¿Alguien puede orientarme o decirme como debo modificar mis connection string para poder conectar a la base de datos que ya esta alojada en el hosting?

    Gracias

    martes, 5 de agosto de 2014 19:46

Respuestas

  • hola

    pero si analizas el connection string que genera entity framework

    tienes que centrarte en la seccion

    provider connection string=&quot;data source=(local);initial catalog=GesTall;integrated security=True;MultipleActiveResultSets=True;

    esa parte es la que debes cambiar con los datos que te proporciones en cuanto a ip, usuario y password para conectarte

    cambia el integrated security=False

    provider connection string=&quot;data source=[IP address];initial catalog=GesTall;User ID=[userName];Password=[userPassword];MultipleActiveResultSets=True;

    quita el integrated security o ponlo en false

    la parte que marque en negrita es la que cambie

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta E_Oskar jueves, 7 de agosto de 2014 10:17
    martes, 5 de agosto de 2014 21:11
  • El error que te está mostrando es que no encuentra la bbdd de SimpleMembership. 

    Puedes buscar en tu codigo del proyecto algo como WebSecurity.InitializeDatabaseConnection??


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó vótala como útil. Saludos

    • Marcado como respuesta E_Oskar jueves, 7 de agosto de 2014 10:14
    • Desmarcado como respuesta E_Oskar jueves, 7 de agosto de 2014 10:15
    • Marcado como respuesta E_Oskar jueves, 7 de agosto de 2014 10:17
    jueves, 7 de agosto de 2014 8:37
    Moderador

Todas las respuestas

  • hola

    pero si analizas el connection string que genera entity framework

    tienes que centrarte en la seccion

    provider connection string=&quot;data source=(local);initial catalog=GesTall;integrated security=True;MultipleActiveResultSets=True;

    esa parte es la que debes cambiar con los datos que te proporciones en cuanto a ip, usuario y password para conectarte

    cambia el integrated security=False

    provider connection string=&quot;data source=[IP address];initial catalog=GesTall;User ID=[userName];Password=[userPassword];MultipleActiveResultSets=True;

    quita el integrated security o ponlo en false

    la parte que marque en negrita es la que cambie

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta E_Oskar jueves, 7 de agosto de 2014 10:17
    martes, 5 de agosto de 2014 21:11
  • Entonces solamente debo cambiar el segundo connection string?

    El primero no hace falta cambiarle nada?

    Entonces esta linea que me han dado los del hosting para que sirve?


    Server=[IP address];Database=[databaseName];Uid=[userName];Password=[userPassword];
    • Editado E_Oskar martes, 5 de agosto de 2014 21:23
    martes, 5 de agosto de 2014 21:16
  • >>solamente debo cambiar el segundo connection string?

    pero estas usando ambos ? si defines un edmx como modelo de EF solo deberias tener uno solo

    >>Entonces esta linea que me han dado los del hosting para que sirve?

    te la dieron de ejemplo, tu la tienes que adaptar y poner los datos validos de ip, nombre de la db, usuario y password correctos

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    martes, 5 de agosto de 2014 23:29
  • Hola, la verdad es que si estoy usando ambos connection string, ademas si cuando lo ejecuto en local quito alguno de ellos la aplicacion peta por todos lados.

    Te pido disculpas Leandro porque creo que no me he explicado bien, lo siento acabo de darme cuenta cuando he vuelto a repasar toda la conversacion, desde el principio. Te aclaro:

    Esto es lo que me ha proporcionado la gente del hosting:

    Server=[IP address];Database=[databaseName];Uid=[userName];Password=[userPassword];

    Data Source=[IP address];Initial Catalog=[databaseName];User ID=[userName];Password=[userPassword]

    Ahora voy a comentarte porque tengo y uso los dos connection string:

    /* Este lo utilizo porque es el que crea y usa las tablas de SIMPLEMEMBERSHIP. */

    <add name="GesTall" connectionString="Data Source=(local);Initial Catalog=GesTall;Integrated Security=True;MultipleActiveResultSets=True;Application Name=EntityFramework" providerName="System.Data.SqlClient" />

    /* Este otro es el que se añade de forma automatica en el web.config cuando inserto la base de datos de SQL SERVER en la aplicacion de Visual Studio, a traves de BOTON DERECHO > NUEVO ELEMENTO > VISUAL C# > ADO.NET ENTITY DATA MODEL */

    <add name="GesTallEntities" connectionString="metadata=res://*/Capa_datos.GesTall.csdl|res://*/Capa_datos.GesTall.ssdl|res://*/Capa_datos.GesTall.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=(local);initial catalog=GesTall;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />

    miércoles, 6 de agosto de 2014 10:51
  • Ya no se que mas hacer he probado de todo y no encuentro la forma de hacer que la aplicacin funcione.

    Como dijo Edison: "He encontrado XXXXX formas de no hacer una bombilla".

    El puto erro que sale siempre es el mismo:

    Server Error in '/' Application.

    The system cannot find the file specified

    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

    Exception Details: System.ComponentModel.Win32Exception: The system cannot find the file specified

    Source Error: 
    An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

    Stack Trace: 
    [Win32Exception (0x80004005): The system cannot find the file specified]
    
    [SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 52 - Unable to locate a Local Database Runtime installation. Verify that SQL Server Express is properly installed and that the Local Database Runtime feature is enabled.)]
       System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) +5352431
       System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) +244
       System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, Boolean withFailover) +5363103
       System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, Boolean withFailover) +145
       System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString connectionOptions, SqlCredential credential, TimeoutTimer timeout) +922
       System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(TimeoutTimer timeout, SqlConnectionString connectionOptions, SqlCredential credential, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance) +307
       System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData) +518
       System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions) +278
       System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions) +38
       System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection) +732
       System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection) +85
       System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection) +1057
       System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) +78
       System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection) +196
       System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) +146
       System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) +16
       System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry) +94
       System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry) +110
       System.Data.SqlClient.SqlConnection.Open() +96
       System.Data.Entity.Infrastructure.Interception.DbConnectionDispatcher.<Open>b__36(DbConnection t, DbConnectionInterceptionContext c) +10
       System.Data.Entity.Infrastructure.Interception.InternalDispatcher`1.Dispatch(TTarget target, Action`2 operation, TInterceptionContext interceptionContext, Action`3 executing, Action`3 executed) +72
       System.Data.Entity.Infrastructure.Interception.DbConnectionDispatcher.Open(DbConnection connection, DbInterceptionContext interceptionContext) +360
       System.Data.Entity.SqlServer.<>c__DisplayClass34.<UsingConnection>b__32() +337
       System.Data.Entity.SqlServer.<>c__DisplayClass1.<Execute>b__0() +10
       System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute(Func`1 operation) +189
       System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute(Action operation) +78
       System.Data.Entity.SqlServer.SqlProviderServices.UsingConnection(DbConnection sqlConnection, Action`1 act) +244
       System.Data.Entity.SqlServer.SqlProviderServices.UsingMasterConnection(DbConnection sqlConnection, Action`1 act) +557
       System.Data.Entity.SqlServer.SqlProviderServices.CreateDatabaseFromScript(Nullable`1 commandTimeout, DbConnection sqlConnection, String createDatabaseScript) +86
       System.Data.Entity.SqlServer.SqlProviderServices.DbCreateDatabase(DbConnection connection, Nullable`1 commandTimeout, StoreItemCollection storeItemCollection) +164
       System.Data.Entity.Core.Common.DbProviderServices.CreateDatabase(DbConnection connection, Nullable`1 commandTimeout, StoreItemCollection storeItemCollection) +75
       System.Data.Entity.Core.Objects.ObjectContext.CreateDatabase() +134
       Personal.Filters.SimpleMembershipInitializer..ctor() +125
    
    [InvalidOperationException: No se pudo inicializar la base de datos de ASP.NET Simple Membership. Para obtener más información, consulte http://go.microsoft.com/fwlink/?LinkId=256588]
       Personal.Filters.SimpleMembershipInitializer..ctor() +255
    
    [TargetInvocationException: Exception has been thrown by the target of an invocation.]
       System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck) +0
       System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark) +113
       System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark) +232
       System.Activator.CreateInstance(Type type, Boolean nonPublic) +83
       System.Activator.CreateInstance(Type type) +6
       System.Threading.LazyHelpers`1.ActivatorFactorySelector() +68
       System.Threading.LazyInitializer.EnsureInitializedCore(T& target, Boolean& initialized, Object& syncLock, Func`1 valueFactory) +115
       System.Threading.LazyInitializer.EnsureInitialized(T& target, Boolean& initialized, Object& syncLock) +106
       Personal.Filters.InitializeSimpleMembershipAttribute.OnActionExecuting(ActionExecutingContext filterContext) +24
       System.Web.Mvc.Async.AsyncInvocationWithFilters.InvokeActionMethodFilterAsynchronouslyRecursive(Int32 filterIndex) +176
       System.Web.Mvc.Async.AsyncInvocationWithFilters.InvokeActionMethodFilterAsynchronouslyRecursive(Int32 filterIndex) +644
       System.Web.Mvc.Async.<>c__DisplayClass33.<BeginInvokeActionMethodWithFilters>b__31(AsyncCallback asyncCallback, Object asyncState) +58
       System.Web.Mvc.Async.WrappedAsyncResult`1.CallBeginDelegate(AsyncCallback callback, Object callbackState) +14
       System.Web.Mvc.Async.WrappedAsyncResultBase`1.Begin(AsyncCallback callback, Object state, Int32 timeout) +128
       System.Web.Mvc.Async.AsyncControllerActionInvoker.BeginInvokeActionMethodWithFilters(ControllerContext controllerContext, IList`1 filters, ActionDescriptor actionDescriptor, IDictionary`2 parameters, AsyncCallback callback, Object state) +197
       System.Web.Mvc.Async.<>c__DisplayClass21.<BeginInvokeAction>b__19(AsyncCallback asyncCallback, Object asyncState) +743
       System.Web.Mvc.Async.WrappedAsyncResult`1.CallBeginDelegate(AsyncCallback callback, Object callbackState) +14
       System.Web.Mvc.Async.WrappedAsyncResultBase`1.Begin(AsyncCallback callback, Object state, Int32 timeout) +128
       System.Web.Mvc.Async.AsyncControllerActionInvoker.BeginInvokeAction(ControllerContext controllerContext, String actionName, AsyncCallback callback, Object state) +328
       System.Web.Mvc.Controller.<BeginExecuteCore>b__1c(AsyncCallback asyncCallback, Object asyncState, ExecuteCoreState innerState) +25
       System.Web.Mvc.Async.WrappedAsyncVoid`1.CallBeginDelegate(AsyncCallback callback, Object callbackState) +30
       System.Web.Mvc.Async.WrappedAsyncResultBase`1.Begin(AsyncCallback callback, Object state, Int32 timeout) +128
       System.Web.Mvc.Controller.BeginExecuteCore(AsyncCallback callback, Object state) +556
       System.Web.Mvc.Controller.<BeginExecute>b__14(AsyncCallback asyncCallback, Object callbackState, Controller controller) +18
       System.Web.Mvc.Async.WrappedAsyncVoid`1.CallBeginDelegate(AsyncCallback callback, Object callbackState) +20
       System.Web.Mvc.Async.WrappedAsyncResultBase`1.Begin(AsyncCallback callback, Object state, Int32 timeout) +128
       System.Web.Mvc.Controller.BeginExecute(RequestContext requestContext, AsyncCallback callback, Object state) +420
       System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.BeginExecute(RequestContext requestContext, AsyncCallback callback, Object state) +16
       System.Web.Mvc.MvcHandler.<BeginProcessRequest>b__4(AsyncCallback asyncCallback, Object asyncState, ProcessRequestState innerState) +52
       System.Web.Mvc.Async.WrappedAsyncVoid`1.CallBeginDelegate(AsyncCallback callback, Object callbackState) +30
       System.Web.Mvc.Async.WrappedAsyncResultBase`1.Begin(AsyncCallback callback, Object state, Int32 timeout) +128
       System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state) +369
       System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state) +48
       System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData) +16
       System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +301
       System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155

    • Editado E_Oskar miércoles, 6 de agosto de 2014 14:46
    miércoles, 6 de agosto de 2014 14:44
  • hola

    el hosting te dio el formato del connection string, pero te dio la informacion para conectarte? o sea te dio la ip de la pc que contiene el servicio de sql server ?

    porque el error no indica un error de conection string sino que no encuentra el servicio de sql server

    cuando publicas el servicio esta en la misma pc que el IIS ?

    que pones en  Data Source= ?

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    miércoles, 6 de agosto de 2014 15:35
  • Hola, los del hosting me han proporcionado todos los datos

    Server=[IP address];Database=[databaseName];Uid=[userName];Password=[userPassword];

    Data Source=[IP address];Initial Catalog=[databaseName];User ID=[userName];Password=[userPassword]

    Tanto en SERVER como en DATA SOURCE, me han dado la misma ip para que la ponga ahi, tambien me han proporcionado el resto de info, nombre de la base de datos (que se lo he puesto yo), y el usuario y contraseña si me o han facilitado ellos.

    miércoles, 6 de agosto de 2014 16:53
  • Hola, ya no se que hacer, haga los cambios que haga en los connectionstring siempre me devuelve el mismo error, esto es muy raro.

    He cambiado y puesto los connectionstring de mil formas distintas y nada de nada.

    Le he pedido a los del hosting que me confirmen las ip que me han dado y, asi lo han hecho, ademas me han dicho que han mirado y comprobado que en mi hosting esta la base de datos y todos los archivos necesarios para poder ejecutar la aplicacion, pero mientras que no solucione lo de los connectionstring, mi aplicacion no podra ejecutarse.

    Para probar el hosting, he subido otras aplicaciones que no utilizan base de datos y todo funciona correctamente.

    Tambien me han confirmado que tienen mas cliente a los que les funcionan perfectamente los connectionstring.

    ;-(

    jueves, 7 de agosto de 2014 7:59
  • El error que te está mostrando es que no encuentra la bbdd de SimpleMembership. 

    Puedes buscar en tu codigo del proyecto algo como WebSecurity.InitializeDatabaseConnection??


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó vótala como útil. Saludos

    • Marcado como respuesta E_Oskar jueves, 7 de agosto de 2014 10:14
    • Desmarcado como respuesta E_Oskar jueves, 7 de agosto de 2014 10:15
    • Marcado como respuesta E_Oskar jueves, 7 de agosto de 2014 10:17
    jueves, 7 de agosto de 2014 8:37
    Moderador
  • Leandro y Sergio, gracias por vuestras aportaciones, la verdad es que para solucionarlo he tenido que hacer una pequeña mezcla de todo lo que me habeis comentado.
    jueves, 7 de agosto de 2014 10:17