Skocz do zawartości

Błąd bazy danych przy ofercie z konkretną kategorią

Polecane posty

"Błędne dane
Błąd zapisu do bazy danych"

Pojawia mi się taki błąd gdy chce zapisać zmiany w ofercie w zakładce aukcje przygotowane. 

Dotyczy tylko specyficznej kategorii. Wszystkie inne działają poprawnie. 

Dodatkowo oferty dla tej kategorii ciągle widnieją w aukcjach trwających mimo, że oferty są zakończone. 

Z czego to może wynikać? Jak to naprawić?

Edytowane przez Michał Surmacz
Link to postu

Elektronika > Komputery > Akcesoria (Laptop, PC) > Kable, taśmy, przedłużacze > Kable i przedłużacze > USB > A - B (48943)
Elektronika > Komputery > Akcesoria (Laptop, PC) > Kable, taśmy, przedłużacze > Kable i przedłużacze > USB > Przedłużacze (48942)
Elektronika > Komputery > Akcesoria (Laptop, PC) > Kable, taśmy, przedłużacze > Kable i przedłużacze > USB > Pozostałe (48941)

Przy czym w aukcjach, które trwają ścieżka kategorii wyświetla się po staremu, czyli Komputery > Akcesoria (Laptop, PC) > ...
Inne kategorie zaktualizowały się poprawie po ostatniej dużej aktualizacji.

Link to postu

Czy były pobierane pełne dane do aukcji trwających? Proszę pobrać dla kilku aukcji trwających pełne dane spod prawego klawisza myszy i zobaczyć czy ścieżka kategorii się poprawi.

W jaki sposób są wystawiane nowe aukcje?

Dnia 24.08.2019 o 15:06, Michał Surmacz napisał:

Dodatkowo oferty dla tej kategorii ciągle widnieją w aukcjach trwających mimo, że oferty są zakończone. 

Proszę pobrać zakończone aukcje. W 1.32 będzie dodany mechanizm, który zamyka aukcje zakończone na podstawie pobierania tylko trwających.

Link to postu
  • 3 miesiące temu...

Czyli możliwe, że ten problem z powielonymi kategoriami powstał jeszcze na starszej wersji Sello. Szukamy informacji czy nowy synchronizator Allegro również powoduje powielanie fragmentów drzewa kategorii czy jest to wynik działania poprzedniego synchronizatora.

Ale wracając do rozwiązania:

image.png.bccf7f9433c930c2aec92e15c792a080.png

Zakładając, że drzewo kategorii jest zaktualizowane (jeśli nie to należy je zaktualizować całe, lub fragment np całą zawartość Elektronika > Komputery za pomocą funkcji Aktualizuj poddrzewo kategorii, należy powielić na chwilę taką aukcję, która nie chce się zapisać, ewentualnie dodać nową aukcję i wybrać kategorię w której ta aukcja jest wystawiona.

Zgodnie z obrazkiem na górze, proszę przejść do najniższej kategorii i sprawdzić jej numer.

Przed wykonaniem jakichkolwiek operacji na bazie proszę najpierw wykonać jej kopię zapasową (archiwizację).

W programie serwisowym proszę wykonać takie polecenie SQL, podmieniając identyfikator kategorii w pierwszej linii (tutaj 4689):

declare @kategoria nvarchar(32) = 4689 -- tutaj podać numer kategorii (np z kroku pierwszego)

declare @catId int = (select top 1 cat_Id from st_Category where cat_CatId = @kategoria)
declare @sciezka nvarchar(1000)
exec spCategoryFullName @catId = @catId, 
@catname = @sciezka output
select @sciezka sciezka

Po wykonaniu polecenia w programie serwisowym zwrócony zostanie wynik, np taki jak poniżej:

image.png.1ba6ffa075a5e958440a258a8900108c.png

Proszę w tej ścieżce sprawdzić, czy widnieją powielone fragmenty np Akcesoria występują kilka razy jedna po drugiej:

Elektronika > Komputery > Akcesoria (Laptopy, PC) > Akcesoria (Laptopy, PC) > Akcesoria (Laptopy, PC) > Kable, taśmy, przedłużacze.

Jeśli tak jest, to należy w oknie wyboru kategorii wybrać następne kategorie idąc w górę drzewa, jak na obrazku 2 (tutaj Kable, taśmy, przedłużacze), spisać sobie gdzieś na boku kolejny identyfikator kategorii (tutaj 4689) i dojechać w ten sposób aż do wadliwej, powielonej kategorii (tutaj Akcesoria). U mnie jest to numer 497.

Mając teraz numery problemowych kategorii należy je z bazy usunąć wykonując poniższe polecenie SQL w programie serwisowym:

delete from st_category where cat_catId in ('4717', '4689', '497') -- w nawiasie lista wszystkich numerów kategorii do usunięcia

Po tym, należy pobrać dany fragment drzewa podkategorii ponownie i ewentualnie sprawdzić pierwszym poleceniem, czy nadal występują powielenia.

 

Bardziej brutalna metoda, to wyczyszczenie wszystkich kategorii poleceniem poniższym:

delete from st_category

Nie trzeba tutaj nic analizować, wystarczy wykonać. Po czym należy pobrać całe drzewo kategorii oraz pełne dane dla aukcji trwających (gdyż w programie znikną z nich kategorie po ich usunięciu).

 

 

Link to postu

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.
Uwaga: Twój wpis zanim będzie widoczny, będzie wymagał zatwierdzenia moderatora.

Użytkownik forum
Odpowiedz...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

×
×
  • Dodaj nową pozycję...