HDSoftware Skrevet 17. november 2014 Del Skrevet 17. november 2014 Folkens. Jeg har laget en liten web app som kunn skal holde noe enkle kunde data. Til dette valgte jeg enkelt og greit å bruke LocalDB og ikek noe SQL server opplegg, rett og slett for enkelheten skyld. Prosjektet kjører som bare det i Visual studio, men når jeg prøver dette på en Windows 2008 server med IIS så feiler det med følgende exception 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) +6675286 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) +688 System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, Boolean withFailover) +6701832 System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, Boolean withFailover) +219 System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString connectionOptions, SqlCredential credential, TimeoutTimer timeout) +6703968 System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(TimeoutTimer timeout, SqlConnectionString connectionOptions, SqlCredential credential, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance) +6704427 System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions) +610 System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions) +1049 System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions) +74 System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnectionOptions userOptions) +6706995 System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnectionOptions userOptions) +78 System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection) +2192 System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) +116 System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) +1012 System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) +6711619 System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry) +152 System.Data.SqlClient.SqlConnection.Open() +229 System.Data.Entity.Infrastructure.Interception.InternalDispatcher`1.Dispatch(TTarget target, Action`2 operation, TInterceptionContext interceptionContext, Action`3 executing, Action`3 executed) +207 System.Data.Entity.Infrastructure.Interception.DbConnectionDispatcher.Open(DbConnection connection, DbInterceptionContext interceptionContext) +438 System.Data.Entity.SqlServer.<>c__DisplayClass1.<Execute>b__0() +15 System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute(Func`1 operation) +263 System.Data.Entity.SqlServer.SqlProviderServices.UsingConnection(DbConnection sqlConnection, Action`1 act) +391 System.Data.Entity.SqlServer.SqlProviderServices.UsingMasterConnection(DbConnection sqlConnection, Action`1 act) +749 System.Data.Entity.SqlServer.SqlProviderServices.DbCreateDatabase(DbConnection connection, Nullable`1 commandTimeout, StoreItemCollection storeItemCollection) +314 System.Data.Entity.Migrations.Utilities.DatabaseCreator.Create(DbConnection connection) +281 System.Data.Entity.Migrations.DbMigrator.EnsureDatabaseExists(Action mustSucceedToKeepDatabase) +230 System.Data.Entity.Internal.DatabaseCreator.CreateDatabase(InternalContext internalContext, Func`3 createMigrator, ObjectContext objectContext) +130 System.Data.Entity.Database.Create(DatabaseExistenceState existenceState) +267 System.Data.Entity.CreateDatabaseIfNotExists`1.InitializeDatabase(TContext context) +243 System.Data.Entity.Internal.InternalContext.PerformInitializationAction(Action action) +66 System.Data.Entity.Internal.InternalContext.PerformDatabaseInitialization() +596 System.Data.Entity.Internal.RetryAction`1.PerformAction(TInput input) +208 System.Data.Entity.Internal.LazyInternalContext.InitializeDatabaseAction(Action`1 action) +266 System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType) +39 System.Data.Entity.Internal.Linq.InternalSet`1.Initialize() +72 System.Data.Entity.Internal.Linq.InternalSet`1.get_InternalContext() +21 System.Data.Entity.Infrastructure.DbQuery`1.System.Linq.IQueryable.get_Provider() +64 System.Linq.Queryable.Count(IQueryable`1 source) +67 RivertonCRMDevEx3.Model.GlobalData..ctor() +99 RivertonCRMDevEx3.Model.WebPage.GetGlobalData() +113 RivertonCRMDevEx3.Model.WebPage.OnLoad(EventArgs e) +24 System.Web.UI.Control.LoadRecursive() +71 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3178 -------------------------------------------------------------------------------- Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.17929 Sli ser Connection strengen ut: <add name="Model1" connectionString="data source=(LocalDB)\v11.0;attachdbfilename=|DataDirectory|\RivertonCRM.mdf;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" /> I katalogen C:\WebPages\Riverton\App_Data ligger følgende to filer: RivertonCRM.mdf RivertonCRM_log.ldf Alle tips er veldig veklommne her. Takker på forhånd.. Lenke til kommentar
quantum Skrevet 22. november 2014 Del Skrevet 22. november 2014 Tusenkronersspørsmålet blir vel da hva variablen "DataDirectory" inneholder .... (Vill gjetting, jeg driver ikke med .NET) Lenke til kommentar
The Jackal Skrevet 24. november 2014 Del Skrevet 24. november 2014 Tusenkronersspørsmålet blir vel da hva variablen "DataDirectory" inneholder .... (Vill gjetting, jeg driver ikke med .NET) |DataDirectory| er et keyword og er App_Data, så det stemmer. Jeg hadde tatt en kikk på disse linkene i prioritert rekkefølge: http://blogs.msdn.com/b/sqlexpress/archive/2011/12/09/using-localdb-with-full-iis-part-1-user-profile.aspx http://blogs.msdn.com/b/sqlexpress/archive/2011/12/09/using-localdb-with-full-iis-part-2-instance-ownership.aspx LocalDb funker ikke i full IIS uten videre. Lenke til kommentar
HDSoftware Skrevet 24. november 2014 Forfatter Del Skrevet 24. november 2014 Thanx Jackal ;-) Men du, jeg leste artikkelen og den henviser til en config fil i en katalog, men den katalogen er tom ??? Altså katalogen : C:\Windows\System32\inetsrv\Config Noe du vet noe om? Kan det være på et annet sted på serveren jeg prøver å kjøre på? Prøver å kjøre dette på en Windows 2008 R2 plain installasjon. Lenke til kommentar
The Jackal Skrevet 24. november 2014 Del Skrevet 24. november 2014 (endret) Kan være noe redirect crap pga x64 og system32 katalogen. Du kan imidlertid sette forskjellige properties via appcmd. Om du scroller en del ned på siden her http://www.iis.net/learn/get-started/getting-started-with-iis/getting-started-with-appcmdexe så tipper jeg du finner ut hvordan du kan legge til de 2 propertiene ved hjalp av denne kommandoen. Du kan starte med å kjøre "%systemroot%\system32\inetsrv\APPCMD list apppool "MyAppPool" /text:*" for å liste konfigurasjonen som er der nå. Edit: Hvis jeg var deg, ville jeg laget en spesifikk apppool for dette formålet siden det er en litt spesiell case...og i alle fall hvis du kjører andre siter på samme IIS Endret 24. november 2014 av The Jackal Lenke til kommentar
The Jackal Skrevet 24. november 2014 Del Skrevet 24. november 2014 (endret) appcmd set apppool "MyAppPool" /processModel.loadUserProfile:true /processModel.setProfileEnvironment:true tror dette skal funke Edit. fikset kommando Endret 24. november 2014 av The Jackal Lenke til kommentar
HDSoftware Skrevet 24. november 2014 Forfatter Del Skrevet 24. november 2014 appcmd set apppool "MyAppPool" /processModel.loadUserProfile:true /processModel.setProfileEnvironment:true tror dette skal funke Edit. fikset kommando Wow, nå ble det komplisert her ;-) Men jeg testet, bare for å se hva som skjedde: Skrev følgende: %systemroot%\system32\inetsrv\appcmd set apppool "Riverton" /processModel.loadUserProfile:true /processModel.setProfileEnvironment:true Når jeg så trykker enter så får jeg ERROR ( message:Unknown attribute "processModel.setProfileEnvironment". Replace -? for help. Hva skulle denne kommandoen gjøre forresten? btw - når jeg skrev det første du skrev for å få en liste så fikk jeg følgende: APPPOOL "Riverton" (MgdVersion:v4.0,MgdMode:Integrated,state:Started) Lenke til kommentar
The Jackal Skrevet 25. november 2014 Del Skrevet 25. november 2014 appcmd set apppool "MyAppPool" /processModel.loadUserProfile:true /processModel.setProfileEnvironment:true tror dette skal funke Edit. fikset kommando Wow, nå ble det komplisert her ;-) Men jeg testet, bare for å se hva som skjedde: Skrev følgende: %systemroot%\system32\inetsrv\appcmd set apppool "Riverton" /processModel.loadUserProfile:true /processModel.setProfileEnvironment:true Når jeg så trykker enter så får jeg ERROR ( message:Unknown attribute "processModel.setProfileEnvironment". Replace -? for help. Hva skulle denne kommandoen gjøre forresten? btw - når jeg skrev det første du skrev for å få en liste så fikk jeg følgende: APPPOOL "Riverton" (MgdVersion:v4.0,MgdMode:Integrated,state:Started) Kan du prøve å kjøre dem hver for seg? Altså: appcmd set apppool "Riverton" /processModel.loadUserProfile:true appcmd set apppool "Riverton" /processModel.setProfileEnvironment:true Om det ikke fungerer, hva er outputen fra appcmd list apppool "Riverton" /text:* Lenke til kommentar
HDSoftware Skrevet 25. november 2014 Forfatter Del Skrevet 25. november 2014 appcmd set apppool "MyAppPool" /processModel.loadUserProfile:true /processModel.setProfileEnvironment:true tror dette skal funke Edit. fikset kommando Wow, nå ble det komplisert her ;-) Men jeg testet, bare for å se hva som skjedde: Skrev følgende: %systemroot%\system32\inetsrv\appcmd set apppool "Riverton" /processModel.loadUserProfile:true /processModel.setProfileEnvironment:true Når jeg så trykker enter så får jeg ERROR ( message:Unknown attribute "processModel.setProfileEnvironment". Replace -? for help. Hva skulle denne kommandoen gjøre forresten? btw - når jeg skrev det første du skrev for å få en liste så fikk jeg følgende: APPPOOL "Riverton" (MgdVersion:v4.0,MgdMode:Integrated,state:Started) Kan du prøve å kjøre dem hver for seg? Altså: appcmd set apppool "Riverton" /processModel.loadUserProfile:true appcmd set apppool "Riverton" /processModel.setProfileEnvironment:true Om det ikke fungerer, hva er outputen fra appcmd list apppool "Riverton" /text:* Heisan. Første går greit. Neste får samme feil som nevnt over. Men jeg testet med -? og finner ingen property som heter setProfileEnvironment. Ække det litt rart da? Er det kansje et bibliotek som ikke er lastet eller noe ? Lenke til kommentar
The Jackal Skrevet 25. november 2014 Del Skrevet 25. november 2014 Heisan. Første går greit. Neste får samme feil som nevnt over. Men jeg testet med -? og finner ingen property som heter setProfileEnvironment. Ække det litt rart da? Er det kansje et bibliotek som ikke er lastet eller noe ? Litt usikker egentlig...mulig du må oppdatere IIS. Kan se ut som om setProfileEnvironement ble lagt til i IIS 8 i følge denne linken: http://www.iis.net/configreference/system.applicationhost/applicationpools/add/processmodel#002. Lenke til kommentar
HDSoftware Skrevet 25. november 2014 Forfatter Del Skrevet 25. november 2014 Heisan. Første går greit. Neste får samme feil som nevnt over. Men jeg testet med -? og finner ingen property som heter setProfileEnvironment. Ække det litt rart da? Er det kansje et bibliotek som ikke er lastet eller noe ? Litt usikker egentlig...mulig du må oppdatere IIS. Kan se ut som om setProfileEnvironement ble lagt til i IIS 8 i følge denne linken: http://www.iis.net/configreference/system.applicationhost/applicationpools/add/processmodel#002. Ok. Kjører noen oppdateringer så får vi se om det hjelper ;-) Lenke til kommentar
The Jackal Skrevet 25. november 2014 Del Skrevet 25. november 2014 Si i fra om du fortsatt har problemer etter oppdateringer eller om det fungerte da Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå