12.05.2014, 18:07 (Dieser Beitrag wurde zuletzt bearbeitet: 07.07.2014, 22:25 von Rondrian.)
Code:
Beim Import ist ein Fehler aufgetreten.
Bitte prüfe die FAQ-Seite auf www.meistergeister.org und unser Forum (http://meistergeister.orkenspalter.de/) nach einer Fehlerlösung.
Bei weiteren Problemen kannst du das Problem im Forum melden oder dich an info@meistergeister.org wenden (Bitte die gesamte Meldung vollständig kopieren).
Die Fehlermeldung wird in einer Log-Datei im MeisterGeister-Verzeichnis gespeichert.
Version: 2.3.4.1 / 83
Source: System.Data.Entity
Message: Fehler beim Ausführen der Befehlsdefinition. Weitere Informationen finden Sie in der internen Ausnahme.
Type: System.Data.EntityCommandExecutionException
InnerException: System.Data.SqlServerCe.SqlCeException (0x80004005): Der Spaltenname ist ungültig. [ Node name (if any) = Extent1,Column name = Reihenfolge ]
bei System.Data.SqlServerCe.SqlCeCommand.ProcessResults(Int32 hr)
bei System.Data.SqlServerCe.SqlCeCommand.CompileQueryPlan()
bei System.Data.SqlServerCe.SqlCeCommand.ExecuteCommand(CommandBehavior behavior, String method, ResultSetOptions options)
bei System.Data.SqlServerCe.SqlCeCommand.ExecuteReader(CommandBehavior behavior)
bei System.Data.SqlServerCe.SqlCeMultiCommand.ExecuteReader(CommandBehavior behavior)
bei System.Data.SqlServerCe.SqlCeMultiCommand.ExecuteDbDataReader(CommandBehavior behavior)
bei System.Data.Common.DbCommand.ExecuteReader(CommandBehavior behavior)
bei System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior)
StackTrace: bei System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior)
bei System.Data.Objects.Internal.ObjectQueryExecutionPlan.Execute[TResultType](ObjectContext context, ObjectParameterCollection parameterValues)
bei System.Data.Objects.ObjectQuery`1.GetResults(Nullable`1 forMergeOption)
bei System.Data.Objects.ObjectQuery`1.System.Collections.Generic.IEnumerable<T>.GetEnumerator()
bei System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
bei System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
bei MeisterGeister.Model.Service.SerializationService.LoadAudioUserData()
bei MeisterGeister.Model.Service.SerializationService.LoadAllUserData()
bei MeisterGeister.Model.Service.SerializationService..ctor()
bei MeisterGeister.Model.Service.SerializationService.GetInstance(Boolean forceNew)
bei MeisterGeister.Logic.HeldenImport.HeldenSoftwareImporter.ImportHeldenSoftwareFile(String _importPfad, Guid newGuid)
bei MeisterGeister.ViewModel.Helden.ListeViewModel.ImportHeld(String pfad)
bei MeisterGeister.ViewModel.Helden.ListeViewModel.ImportHeldCommand(Object sender)
Okay, der Fehler scheint nur mit einer geupdateten Datenbank zu passieren. Mit einer neuen leeren Datenbank ist alles gut... So viel hab ich schonmal herausgefunden.
04.07.2014, 14:06 (Dieser Beitrag wurde zuletzt bearbeitet: 04.07.2014, 14:26 von Rondrian.)
Leider scheint der Fehler auch noch in Version 2.4.0 aufzutreten. Mit meinen Testdatenbanken und Test-Helden konnte ich den Fehler jedoch noch nicht reproduzieren.
Ich habe den Bug in unser Ticket System aufgenommen: #352
Code:
Version: 2.4.0 / 85
Source: EntityFramework
Message: An error occurred while executing the command definition. See
the inner exception for details.
Type: System.Data.Entity.Core.EntityCommandExecutionException
InnerException: System.Data.SqlServerCe.SqlCeException (0x80004005): Der
Spaltenname ist ungültig. [ Node name (if any) = Extent1,Column name =
Reihenfolge ]
at System.Data.SqlServerCe.SqlCeCommand.ProcessResults(Int32 hr)
at System.Data.SqlServerCe.SqlCeCommand.CompileQueryPlan()
at
System.Data.SqlServerCe.SqlCeCommand.ExecuteCommand(CommandBehavior
behavior, String method, ResultSetOptions options)
at
System.Data.Entity.SqlServerCompact.SqlCeMultiCommand.ExecuteReader(CommandBehavior
behavior)
at
System.Data.Entity.SqlServerCompact.SqlCeMultiCommand.ExecuteDbDataReader(CommandBehavior
behavior)
at
System.Data.Entity.Infrastructure.Interception.InternalDispatcher`1.Dispatch[TInterceptionContext,TResult](Func`1
operation, TInterceptionContext interceptionContext, Action`1 executing,
Action`1 executed)
at
System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.Reader(DbCommand
command, DbCommandInterceptionContext interceptionContext)
at
System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand
entityCommand, CommandBehavior behavior)
StackTrace: at
System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand
entityCommand, CommandBehavior behavior)
at
System.Data.Entity.Core.Objects.Internal.ObjectQueryExecutionPlan.Execute[TResultType](ObjectContext
context, ObjectParameterCollection parameterValues)
at
System.Data.Entity.Core.Objects.ObjectContext.ExecuteInTransaction[T](Func`1
func, IDbExecutionStrategy executionStrategy, Boolean
startLocalTransaction, Boolean releaseConnectionOnSuccess)
at
System.Data.Entity.Core.Objects.ObjectQuery`1.<>c__DisplayClassb.<GetResults>b__9()
at
System.Data.Entity.Core.Objects.ObjectQuery`1.GetResults(Nullable`1
forMergeOption)
at
System.Data.Entity.Core.Objects.ObjectQuery`1.<System.Collections.Generic.IEnumerable<T>.GetEnumerator>b__0()
at System.Lazy`1.CreateValue()
at System.Lazy`1.LazyInitValue()
at System.Data.Entity.Internal.LazyEnumerator`1.MoveNext()
at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
at MeisterGeister.Model.Service.SerializationService.LoadAudioUserData()
at
MeisterGeister.Model.Service.SerializationService.GetInstance(Boolean
forceNew)
at
MeisterGeister.Logic.HeldenImport.HeldenSoftwareImporter.ImportHeldenSoftwareFile(String
_importPfad, Guid newGuid)
at MeisterGeister.ViewModel.Helden.ListeViewModel.ImportHeld(String
pfad)
at
MeisterGeister.ViewModel.Helden.ListeViewModel.ImportHeldCommand(Object
sender)
Meine Vermutung ist ja, dass aus irgendeinem Grund bei den Betroffenen die Spalte 'Reihenfolge' in der Audio-Tabelle fehlt und dadurch der Absturz passiert.
Jeder, der diesen Fehler hat, sollte uns mal per Mail die Datenbank (MG-Ordner\Daten\DatabaseDSA.sdf) in einem ZIP-Archiv zuschicken, damit wir das Problem weiter untersuchen können.
Meine Vermutung hat sich bestätigt: In den "Problem-Datenbanken" fehlt in der Tabelle Audio_Playlist_Titel die Spalte Reihenfolge.
Offenbar scheint ein Update Skript nicht korrekt ausgeführt worden zu sein.
Von Version 2.3.4 auf 2.3.4.1 wurde die Datenbank Version von 81 auf 83 erhöht. Dabei sollten eigentlich die Skripte 82 und 83 ausgeführt werden. Dies ist aber offenbar nicht geschehen, sodass zwar die DB-Nummer erhöht wurde, aber die Skripte sind nicht gelaufen.
Dadurch fehlen in allen Datenbanken, die das Update auf 2.3.4.1 mitgemacht haben, die Änderungen 82 und 83. Wurde diese Version beim Update ausgelassen, oder hat man eine Leere Datenbank benutzt, sollte dieser Fehler nicht auftreten.
Ich denke, das werden wir einigermaßen zeitnah reparieren können...
So, ich denke das Problem ist behoben. Um aber auf Nummer sicher zu gehen, werde ich diejenigen, die uns ihre Datenbank geschickt haben, einen Download-Link zu einer Testversion schicken...