Datenbank auf Konsistenz prüfen

Übergeordnete Themen zu Schild-NRW

Moderatoren: Raffenberg, A. Schüller, Pfotenhauer

Antworten
kroerig
Beiträge: 283
Registriert: Samstag 5. Januar 2019, 20:18
Schulform: - keine Schule -
Kontaktdaten:

Datenbank auf Konsistenz prüfen

Beitrag 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
"Der Computer rechnet mit allem - nur nicht mit seinem Besitzer." Dieter Hildebrandt
kroerig
Beiträge: 283
Registriert: Samstag 5. Januar 2019, 20:18
Schulform: - keine Schule -
Kontaktdaten:

Re: Datenbank auf Konsistenz prüfen

Beitrag 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

Dateianhänge
response_1693759169113.json.txt
(2.39 MiB) 12-mal heruntergeladen
"Der Computer rechnet mit allem - nur nicht mit seinem Besitzer." Dieter Hildebrandt
kroerig
Beiträge: 283
Registriert: Samstag 5. Januar 2019, 20:18
Schulform: - keine Schule -
Kontaktdaten:

Re: Datenbank auf Konsistenz prüfen

Beitrag 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
"Der Computer rechnet mit allem - nur nicht mit seinem Besitzer." Dieter Hildebrandt
Benutzeravatar
Pfotenhauer
Beiträge: 3081
Registriert: Dienstag 25. September 2018, 12:53
Wohnort: Wuppertal
Schulform: Realschule
Motto: Wer schnell hilft, hilft doppelt!
Kontaktdaten:

Re: Datenbank auf Konsistenz prüfen

Beitrag von Pfotenhauer »

Hallo.

Können Sie bitte einmal per Mail Kontakt aufnehmen?
Ich würde mir das gerne einmal an der Datenbank ansehen.
Mit freundlichen Grüßen
Frank Pfotenhauer
---
Fachberater für die Schulverwaltungssoftware des MSB
Referat 135

E-Mail: frank.pfotenhauer@msb.nrw.de
Benutzeravatar
Pfotenhauer
Beiträge: 3081
Registriert: Dienstag 25. September 2018, 12:53
Wohnort: Wuppertal
Schulform: Realschule
Motto: Wer schnell hilft, hilft doppelt!
Kontaktdaten:

Re: Datenbank auf Konsistenz prüfen

Beitrag von Pfotenhauer »

Ist in der nächsten Version des SVWS-Server behoben.
Wir korrigieren das bei der MIgration.
Mit freundlichen Grüßen
Frank Pfotenhauer
---
Fachberater für die Schulverwaltungssoftware des MSB
Referat 135

E-Mail: frank.pfotenhauer@msb.nrw.de
kroerig
Beiträge: 283
Registriert: Samstag 5. Januar 2019, 20:18
Schulform: - keine Schule -
Kontaktdaten:

Re: Datenbank auf Konsistenz prüfen

Beitrag von kroerig »

Erklären Sie mir auch, was das Problem ist/war?
Wenn es zu technisch wird, per Mail.
"Der Computer rechnet mit allem - nur nicht mit seinem Besitzer." Dieter Hildebrandt
Antworten

Zurück zu „Allgemeines“