Społecznościowe Forum Podstawowy Problem Świadczeniodawcy

Problemy z aplikacjami => KS-PPS => Wątek zaczęty przez: HPnx7000 w Maja 04, 2010, 22:56:31 pm

Tytuł: Error Code: 345 . violation of PRIMARY or UNIQUE KEY constraint "KNK_PK" ...
Wiadomość wysłana przez: HPnx7000 w Maja 04, 2010, 22:56:31 pm
"violation of PRIMARY or UNIQUE KEY constraint "KNK_PK" on table "KNK"
Invalid insert or update value(s): object columns are constrained - no 2
table rows can have duplicate column values Error Code: 345"
po wybraniu pacjenta na próbę dodania czegokolwiek np. procedury, ICD...
versja 2010.02.0.1
Tytuł: Odp: violation of PRIMARY or UNIQUE KEY constraint "KNK_PK" on table "KNK" ....
Wiadomość wysłana przez: miszol w Maja 04, 2010, 23:31:47 pm
polecam: sekwencje, blokady, utworzenie i odtworzenie kopii bezpieczeństwa
Tytuł: Odp: violation of PRIMARY or UNIQUE KEY constraint "KNK_PK" on table "KNK" ....
Wiadomość wysłana przez: HPnx7000 w Maja 07, 2010, 08:06:49 am
NIE DZIAŁA!
przywracałem z kopii,
nowa wersja PPS + Kopia
POMOCY!!!!
Tytuł: Odp: violation of PRIMARY or UNIQUE KEY constraint "KNK_PK" on table "KNK" ....
Wiadomość wysłana przez: fobetor w Maja 07, 2010, 09:50:49 am
"violation of PRIMARY or UNIQUE KEY constraint "KNK_PK" on table "KNK"
Invalid insert or update value(s): object columns are constrained - no 2
table rows can have duplicate column values Error Code: 345"
po wybraniu pacjenta na próbę dodania czegokolwiek np. procedury, ICD...
versja 2010.02.0.1

Witam
Oczywiście sekwencje nic nie pomogą. Opcje są dwie, albo w bazie pomieszały się generatory albo zgodnie z komunikatem rzeczywiście występują zduplikowane wartości w kolumnie nknk, która jest kluczem głównym tej tabeli. Należy jednak pamietać, że klucz główny zbudowany jest tutaj na dwóch kolumnach nknk i nins co znaczy, że nie może powtórzyć się taki sam numer nknk z takim samym numerem nins, natomiast dopuszczalne jest powtórzenie nknk pod warunkiem że nins jest inny, i odwrotnie.

Najlepiej spróbować zalogować się do bazy danych i sprawdzić w czym problem. Najsprawniej będzie zrobić to jakimś programem do poruszania się po bazach danych, jeżeli takiego niema to wystarczy wiersz poleceń.
(zakładam, że program jest na dysku c w standardowej ścieżce)

Uruchamiamy:
KOPIA BEZPIECZEŃSTWA!
start-uruchom-cmd
cd \
cd ks\ks-pps\baza
isql kspps.fdb -user sysdba -password masterkey   //tu ciekawostka, firebird obsługuje tylko 8 znaków hasła, więc równie dobrze można wpisać masterke
select max(nknk) from knk;   //zapamiętaj wartość
SELECT NEXT VALUE FOR knk_seq FROM RDB$DATABASE; 
  wynik zapytania powinien podać liczbę większą o 1 od max(nknk) jeżeli tak nie jest to należy wykonać poniższe kroki zakładam że wynik max(nknk)=5
   alter sequence knk_seq restart with 6;
   commit; //zatwierdza poprzednie zapytania, w większości baz jest autocommit i nie trzeba go wykonywać ale nie wiem jak jest tutaj, tak czy inaczej nie zaszkodzi.
Przy okazji można sprawdzić też knk_unq wykonując powyższe czynności dla
select max(iknk) from knk;
SELECT NEXT VALUE FOR knk_unq FROM RDB$DATABASE;  // wartość knk_seq i knk_unq najpewniej się będą różnić i nie ma potrzeby żeby były takie same. Nie zmieniamy nic na siłę.

Jeżeli generatory są w porządku to znaczy, że rzeczywiście są podublowane wartości. Zalecam przekazanie bazy do specjalisty(KS, albo najbliższy oddział)
Tytuł: Odp: violation of PRIMARY or UNIQUE KEY constraint "KNK_PK" on table "KNK" ....
Wiadomość wysłana przez: HPnx7000 w Maja 16, 2010, 07:24:47 am
Po wgraniu kopii bezpieczeństwa i nowej wersji PPS sekwencje odblokowały bazę i DZIAŁA.
Już sam nie wiem czy to moja wina, czy Kamsoftu...
DZIĘKI ZA POMOC!
Style:2: Portal (default), Printpage (default).
Pod-szablony:4: init, print_above, main, print_below.
Pliki językowe:6: SPortal.english (domyslny), SPortal.polish-utf8 (domyslny), SPortal.english (domyslny), index+Modifications.english (domyslny), index+Modifications.polish-utf8 (domyslny), SPortal.polish-utf8 (domyslny).
Arkusze stylów:1: portal (default).
Uwzględnione pliki:13 - 634KB. (pokaż)
Użytych zapytań: 13.

[Pokaż zapytania]