Seite 1 von 1

Datenbank auf Konsistenz prüfen

Verfasst: Sonntag 3. September 2023, 17:37
von kroerig
Hallo,

gibt es eine Möglichkeit eine Schild-Datenbank auf Konsistenz, fehlerhafte Einträge, Dubletten u.ä. zu prüfen?

Ich versuche gerade die Schild2000 Datenbank (MariaDB) testweise nach Schild3 zu migrieren. Der Prozess bricht aber immer wegen irgendwelcher doppelten Einträge ab. Egal, ob ich direkt aus der MariaDB Instanz migriere oder den Umweg über eine MDB nehme.

Und auch so tauchen beim Import alle möglichen Meldungen über fehlerhafte und/oder ungültige Einträge auf.
Wie kann ich die Datenbank auf einen sauberen Stand bringen?

Danke & Gruß

Klaus Rörig

Re: Datenbank auf Konsistenz prüfen

Verfasst: Sonntag 3. September 2023, 18:47
von kroerig
Hier das Protokoll eines aktuellen Versuchs.
Das JSON enthält leider nicht den eigentlichen Fehler:

Code: Alles auswählen

svws_1     |                       169 - ZP10: Kopiere Daten aus SchuelerBKFaecher nach SchuelerZP10[qtp1387756894-16] WARN org.mariadb.jdbc.message.server.ErrorPacket - Error: 1062-23000: Duplicate entry '6570-28-29' for key 'SchuelerZP10_UC1'
svws_1     | [EL Warning]: 2023-09-03 16:39:22.668--UnitOfWork(782823649)--Exception [EclipseLink-4002] (Eclipse Persistence Services - 4.0.2.v202306161219): org.eclipse.persistence.exceptions.DatabaseException
svws_1     | Internal Exception: java.sql.SQLIntegrityConstraintViolationException: (conn=74) Duplicate entry '6570-28-29' for key 'SchuelerZP10_UC1'
svws_1     | Error Code: 1062
svws_1     | Call: INSERT INTO SchuelerZP10(ID, Schueler_ID, Schuljahresabschnitts_ID, Fach_ID, Vornote, NoteSchriftlich,
svws_1     |     MdlPruefung, MdlPruefungFW, NoteMuendlich, NoteAbschluss, Fachlehrer_ID)
svws_1     | SELECT
svws_1     |     SchuelerBKFaecher.ID,
svws_1     |     SchuelerBKFaecher.Schueler_ID,
svws_1     |     SchuelerBKFaecher.Schuljahresabschnitts_ID,
svws_1     |     SchuelerBKFaecher.Fach_ID,
svws_1     |     SchuelerBKFaecher.Vornote,
svws_1     |     SchuelerBKFaecher.NoteSchriftlich,
svws_1     |     SchuelerBKFaecher.MdlPruefung,
svws_1     |     SchuelerBKFaecher.MdlPruefungFW,
svws_1     |     SchuelerBKFaecher.NoteMuendlich,
svws_1     |     SchuelerBKFaecher.NoteAbschluss,
svws_1     |     SchuelerBKFaecher.Fachlehrer_ID
svws_1     | FROM SchuelerBKFaecher
svws_1     |     JOIN EigeneSchule ON EigeneSchule.SchulformKrz NOT IN ('BK','SB')
svws_1     |
svws_1     | Query: DataModifyQuery(sql="INSERT INTO SchuelerZP10(ID, Schueler_ID, Schuljahresabschnitts_ID, Fach_ID, Vornote, NoteSchriftlich,
svws_1     |     MdlPruefung, MdlPruefungFW, NoteMuendlich, NoteAbschluss, Fachlehrer_ID)
svws_1     | SELECT
svws_1     |     SchuelerBKFaecher.ID,
svws_1     |     SchuelerBKFaecher.Schueler_ID,
svws_1     |     SchuelerBKFaecher.Schuljahresabschnitts_ID,
svws_1     |     SchuelerBKFaecher.Fach_ID,
svws_1     |     SchuelerBKFaecher.Vornote,
svws_1     |     SchuelerBKFaecher.NoteSchriftlich,
svws_1     |     SchuelerBKFaecher.MdlPruefung,
svws_1     |     SchuelerBKFaecher.MdlPruefungFW,
svws_1     |     SchuelerBKFaecher.NoteMuendlich,
svws_1     |     SchuelerBKFaecher.NoteAbschluss,
svws_1     |     SchuelerBKFaecher.Fachlehrer_ID
svws_1     | FROM SchuelerBKFaecher
svws_1     |     JOIN EigeneSchule ON EigeneSchule.SchulformKrz NOT IN ('BK','SB')
svws_1     | ")
svws_1     | ERROR


Re: Datenbank auf Konsistenz prüfen

Verfasst: Sonntag 3. September 2023, 19:50
von kroerig
So, ein paar Recherchen später:
Das Migrationsquery manuell ausführt bring tatsächlich einen (vermeintlich?) doppelten Eintrag:

Code: Alles auswählen

3024	6570	28	29		6	-	-			
3025	6570	28	107		NB	-	-		NB	
3062	6570	28	29		6	-	-			
In der Quelldatenbank sieht das so aus:

Code: Alles auswählen

3024	6570	29	D	+	-		6	-	-				40	XXXXXX	Me		GKS	2022	2
3025	6570	107	M	+	-		NB	-	-			NB	160	XXXXXX	We		GKS	2022	2
3062	6570	29	D	+	-		6	-	-				40	XXXXXX	Me		GKS	2022	2

Re: Datenbank auf Konsistenz prüfen

Verfasst: Montag 4. September 2023, 08:01
von Pfotenhauer
Hallo.

Können Sie bitte einmal per Mail Kontakt aufnehmen?
Ich würde mir das gerne einmal an der Datenbank ansehen.

Re: Datenbank auf Konsistenz prüfen

Verfasst: Montag 4. September 2023, 16:19
von Pfotenhauer
Ist in der nächsten Version des SVWS-Server behoben.
Wir korrigieren das bei der MIgration.

Re: Datenbank auf Konsistenz prüfen

Verfasst: Montag 4. September 2023, 16:22
von kroerig
Erklären Sie mir auch, was das Problem ist/war?
Wenn es zu technisch wird, per Mail.