Skocz do zawartości

[Sfera] 40.0.1 - Błąd "ParametrRegulAutomatyzacji" uniemożliwia uruchomienie rozwiązania

Polecane posty

Podczas odpalania aplikacji Sferycznej, otrzymałem taki błąd. Wygląda na to, że mam rollback aktualizacji do zrobienia :(

Wyjątek nieobsłużony: System.Reflection.TargetInvocationException: Obiekt docelowy wywołania zgłosił wyjątek. ---> System.InvalidOperationException: The 'CzyPowiadomionoOWygasnieciuAbonamentu' property on 'ParametrRegulAutomatyzacji' could not be set to a 'Byte' value. You must set this property to a non-null value of type 'Boolean'.
   w System.Data.Entity.Core.Common.Internal.Materialization.Shaper.ErrorHandlingValueReader`1.GetValue(DbDataReader reader, Int32 ordinal)
   w System.Data.Entity.Core.Common.Internal.Materialization.Shaper.GetPropertyValueWithErrorHandling[TProperty](Int32 ordinal, String propertyName, String typeName)
   --- Koniec śladu stosu wyjątków wewnętrznych ---
   w System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   w System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   w System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   w System.Data.Entity.LinqExpressionExtensions.Interpreter.InterpretCall(MethodCallExpression call)
   w System.Data.Entity.LinqExpressionExtensions.Interpreter.Interpret(Expression expression)
   w System.Data.Entity.LinqExpressionExtensions.Interpreter.InterpretMemberInit(MemberInitExpression init)
   w System.Data.Entity.LinqExpressionExtensions.Interpreter.Interpret(Expression expression)
   w System.Data.Entity.LinqExpressionExtensions.Interpreter.InterpretNew(NewExpression newExpression)
   w System.Data.Entity.LinqExpressionExtensions.Interpreter.Interpret(Expression expression)
   w System.Data.Entity.LinqExpressionExtensions.Interpreter.InterpretUnary(UnaryExpression unary)
   w System.Data.Entity.LinqExpressionExtensions.Interpreter.Interpret(Expression expression)
   w System.Data.Entity.LinqExpressionExtensions.Interpreter.InterpretCall(MethodCallExpression call)
   w System.Data.Entity.LinqExpressionExtensions.Interpreter.Interpret(Expression expression)
   w System.Data.Entity.LinqExpressionExtensions.Interpreter.InterpretConditional(ConditionalExpression conditional)
   w System.Data.Entity.LinqExpressionExtensions.Interpreter.Interpret(Expression expression)
   w System.Data.Entity.LinqExpressionExtensions.Interpreter.InterpretMemberAccess(MemberExpression member)
   w System.Data.Entity.LinqExpressionExtensions.Interpreter.Interpret(Expression expression)
   w System.Data.Entity.LinqExpressionExtensions.Interpreter.InterpretCall(MethodCallExpression call)
   w System.Data.Entity.LinqExpressionExtensions.Interpreter.Interpret(Expression expression)
   w System.Data.Entity.LinqExpressionExtensions.Interpret(LambdaExpression expression, IEnumerable`1 arguments)
   w System.Data.Entity.LinqExpressionExtensions.<>c__DisplayClass1_0`2.<CompileOrInterpret>b__0(T t)
   w System.Data.Entity.Core.Common.Internal.Materialization.Coordinator`1.ReadNextElement(Shaper shaper)
   w System.Data.Entity.Core.Common.Internal.Materialization.Shaper`1.SimpleEnumerator.MoveNext()
   w System.Data.Entity.Internal.LazyEnumerator`1.MoveNext()
   w System.Linq.Enumerable.Single[TSource](IEnumerable`1 source)
   w System.Data.Entity.Core.Objects.ELinq.ObjectQueryProvider.<>c__12`1.<GetElementFunction>b__12_3(IEnumerable`1 sequence)
   w System.Data.Entity.Core.Objects.ELinq.ObjectQueryProvider.ExecuteSingle[TResult](IEnumerable`1 query, Expression queryRoot)
   w System.Data.Entity.Core.Objects.ELinq.ObjectQueryProvider.System.Linq.IQueryProvider.Execute[TResult](Expression expression)
   w System.Linq.Queryable.Single[TSource](IQueryable`1 source)
   w InsERT.Moria.Wspolne.RegulyAutomatyzacji.MechanizmRegulAutomatyzacji.OdswiezDateGranicznaWeryfikacjiWarunkow()
   w InsERT.Moria.Wspolne.RegulyAutomatyzacji.MechanizmRegulAutomatyzacji.<Start>b__42_2()
   w InsERT.Moria.Wspolne.RegulyAutomatyzacji.MechanizmRegulAutomatyzacji.Start()
   w InsERT.Moria.Wspolne.RegulyAutomatyzacji.ManipulatorRegulAutomatyzacji.UruchomMechanizm()
   w InsERT.Moria.Sfera.Uchwyt.fDE=()
   w InsERT.Moria.Sfera.Uchwyt.ZalogujOperatora(Guid id, String haslo)
   w InsERT.Moria.Sfera.Uchwyt.ZalogujOperatora(String login, String haslo)
   w SynchronousSocketListener.StartListening() w D:\SferaVS_2022\SferaIT\Program.cs:wiersz 101
   w SynchronousSocketListener.Main(String[] args) w D:\SferaVS_2022\SferaIT\Program.cs:wiersz 208

 

Edytowane przez Radomił Ząbik
Uzupełnienie tematu
  • Lubię to 1
Link to postu
  • Radomił Ząbik zmienił tytuł na [Sfera] 40.0.1 - Błąd "ParametrRegulAutomatyzacji" uniemożliwia uruchomienie rozwiązania

Kurde, ja na złość, na podmiocie, na którym mogę spróbować od ręki, nie wystąpił nawet ten błąd, więc może rzeczywiście siedzi to w QueryCache, ale dopiero będę mógł to sprawdzić w zaplanowanej aktualizacji - firma produkcyjna. Niestety postawienie środowiska na próbę, zbyt czasochłonne i jeśli to jest to co Pan wskazał, to bym pewnie błędu nie miał.

Link to postu

Ok, dzięki informacjom od @Michał Gałecki udało się namierzyć, nietypową, i chyba indywidualną dla mnie przyczynę. Otóż od wersji 40, Insert zmienił lokalizację folderu QueryCache, który jest przez nich podejrzewany jako przyczyna powyższego wydarzenia. Usuwanie go z różnych lokalizacji niestety nie pomagało. Ale na pewno coś wykonuje Subiekt, podczas uruchamiania, że rozwiązuje ten problem - kompilowałem Swoje rozwiązanie na kopii zapasowej, tak jak to robię od lat. Kluczem okazało się, odpalenie chociaż raz tej kopii zapasowej w Subiekcie - prawdopodobnie wtedy jest poprawiania jakaś konfiguracja, której nie poprawiają same biblioteki z SDK. Po tym udaje się już normalnie skompilować i używać rozwiązania własnego. Problem nie będzie pewnie dotyczył rozwiązań własnych, które są podczepiane do bazy dystrybucyjnych, albo odpalanych bezpośrednio do aktualizowanej bazy, bo ta w procesie aktualizacji, sama się konfiguruje.

Link to postu
1 godzinę temu, Radomił Ząbik napisał:

Otóż od wersji 40, Insert zmienił lokalizację folderu QueryCache

Chciałabym tu sprostować: folder QueryCache jest w tym samym miejscu, w którym był przez 40 wersji, natomiast zmieniło się to, że od wersji 40 programy sferyczne korzystają właśnie z tego folderu (odpowiedniego dla podmiotu, z którym łączą się sferycznie), zamiast robić sobie swój własny QueryCache w Tempie. Dokładniej rzecz biorąc, od wersji 40 programy sferyczne korzystają z tych samych folderów Binaries, Config i Work (w folderze Deployments/Nexo/podmiot/), co insertowe programy z linii nexo.

Jeśli chodzi o ewentualne magiczne operacje podczas uruchamiania Subiekta, to być może znaczenie tu miało to, że przed uruchomieniem wybranego podmiotu InsLauncher robi porządek w folderze Binaries tego podmiotu, usuwając wszystkie pliki spoza bieżącej wersji podmiotu i w razie potrzeby wgrywając świeże kopie "fabrycznych" plików. 

 

 

  • Lubię to 2
Link to postu

Dziękuje za wyjaśnienie i przepraszam, jeśli kogokolwiek wprowadziłem w błąd, przedstawiając szczątkowe informacje, na których się opierałem.

Ważne, że już wiadomo jak "naprawić" ten lub podobny problem, dla rozwiązań sferycznych 40+ ;)

  • Lubię to 1
Link to postu
×
×
  • Dodaj nową pozycję...