Skocz do zawartości

Problem z aktualizacją

Polecane posty

Witam, 

Aktualnie pracuję na wersji 23.0.0 i proces aktualizacji do nowszej wersji nie może zostać zakończony. 
Na samym końcu konfigurowania użytkownika pojawia się komunikat o błędzie i jedyną możliwością jest zamknięcia aplikacji. 

Najwyraźniej w bazie jest jakiś błąd z pustą wartością. 
Może ktoś się spotkał z podobnym problemem. 

Cytat

Baza danych musi być przygotowana do działania z nową wersją programu. Czas trwania operacji: 0:00:00,1596485.
    Model danych - etap #1 jest aktualizowany...
    Model danych - etap #1: zaktualizowano. Czas trwania operacji: 0:00:00,8188007.
    Model danych - etap #2 jest aktualizowany...
    Model danych - etap #2: zaktualizowano. Czas trwania operacji: 0:00:54,4211294.
    Model danych - etap #3 jest aktualizowany...
        Wystąpił błąd: Cannot insert the value NULL into column 'dok_Id', table 'Nexo_SUPERIOR - Michał Banasik.ModelDanychContainer.zzz_rtnetSymSyncOrderFlags'; column does not allow nulls. INSERT fails.
The statement has been terminated.

Z góry dziękuję za wszelkie sugestie. 

Pozdrawiam, 
Michał

Link to postu

Wygląda na to, że doszło do jakiejś kolizji między nexo a - jak przypuszczam - jakimś rozwiązaniem własnym, które ma Pan zainstalowane. Czy może Pan przesłać pełny raport z aktualizacji? Może go Pan wkleić tutaj lub wysłać zgłoszenie formularzem kontaktowym . Nie zaszkodzi też, jeśli prześle Pan komplet logów z c:\Users\{użytkownik}\AppData\Local\InsERT\InsLauncherLogs i c:\Users\{użytkownik}\AppData\Local\InsERT\Logs.

Link to postu

Sytuacja wygląda następująco:
* Aktualizacja nexo nie powodzi się z powodu błędu przy aktualizacji jednej tabeli w bazie. Ta tabela nazywa się ModelDanychContainer.zzz_rtnetSymSyncOrderFlags. To nie jest tabela, która należy do nexo. To znaczy, że nie my ją utworzyliśmy, nie wiemy, co tam jest i nasz kod nie operuje bezpośrednio na tej tabeli.
* Tabela ModelDanychContainer.zzz_rtnetSymSyncOrderFlags prawdopodobnie została utworzona przy instalacji jakiegoś rozwiązania własnego, które utworzyło również w bazie trigger na jakiejś tabeli nexowej, powiedzmy X. Aktulizowanie tabeli X powoduje uruchomienie triggera i aktualizację tabeli zzz_rtnetSymSyncOrderFlags, która się nie powodzi (przypuszczalnie dlatego, że trigger źle obsługuje pewne przypadki danych wejściowych).
* Tabela X, na której prawdopodobnie założono trigger, to jedna z tych: ModelDanychContainer.Dokumenty, ModelDanychContainer.PozycjeDokumentu, ModelDanychContainer.RealizacjePozycji.
* Rozwiązaniem problemu na teraz jest znalezienie tego triggera i wyłączenie go na czas aktualizacji (da się to zrobić klikając w SSMS lub przy pomocy SQLa). Niestety trzeba go najpierw znaleźć, a nie wiemy, jak się nazywa. Załączam zapytanie SQL, które listuje wszystkie triggery w bazie poza tymi, które na pewno są nasze.
* Sądzę, że warto zgłosić problem autorowi rozwiązania własnego, bo mógłby poprawić ten trigger tak, by uniknąć tego typu błędów. 

-- SQL do listowania potencjalnych obcych triggerów

SELECT tr.[name] AS 'Trigger', ob.[name] AS 'Tabela' FROM sys.triggers tr
JOIN sys.objects ob ON ob.object_id = tr.parent_id
WHERE tr.[name] NOT LIKE '%InsTYNKT%'
    AND tr.[name] NOT LIKE '%Vendero%'
    AND tr.[name] NOT IN
        ('tr_AkrualizujIloscZadysponowana',
        'tr_InsteadOfDeleteApplicationSession',
'tr_Usun_ZapiszIdentyfikatorObiektuSladuRewizyjnegoDoSprawdzenia',
'tr_DodajAktualizuj_ZapiszIdentyfikatorObiektuSladuRewizyjnegoDoSprawdzenia')
    AND ob.[type] = 'U'


 

Link to postu
  • 1 miesiąc temu...
Dnia 17.06.2019 o 09:38, Michał Banasik napisał:

Dzień dobry, 
"Trochę" mi to zajęło czasu, ale chciałbym powrócić do tematu. 

Prosiłbym o podanie sposobu jak wyłączyć trigger. Może być na stałe, ponieważ dodatek, który narobił problemów nie będzie już używany. 

 

Trigger   zzz_rtnetSymSyncOrderFlagsUpdate    

Tabela   Dokumenty
 

Wyłączanie triggera - instrukcja ze strony Microsoftu.

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