Startseite


Prüfung der Datenbankstruktur

Die Prüfung ermittelt, ob die Datenbankstruktur mit dem im Repository hinterlegten Fachobjektemodell im Einklang ist. Dies ist notwendig, damit die ASYS-Mittelschicht fehlerfrei auf die Datenbank zugreifen kann. Bei Abweichungen können von der ASYS-Mittelschicht SQL-Kommandos generiert werden, die von der Datenbank nicht oder nicht wie erwartet verarbeitet werden können und daher zu Fehlermeldungen oder unerwartetem Programmverhalten führen.

Die Prüfung für die Datenbanktypen Oracle und MS SQL Server erfolgt mit Hilfe der in diesen Datenbanken enthaltenen internen Verwaltungstabellen und umfasst die Prüfung auf

  • Vorhandensein aller Tabellen und Views
  • Vorhandensein aller Attribute
  • Einhaltung der Längendefinitionen aller Attribute vom Typ String
  • Vorhandensein von Indices, die gemäß Datenmodell erwartet werden1)
  • Nur für Oracle: Vorhandensein ein Sequenz-Definition für den Primärschlüssel einer jeden Tabelle.
  • Nur für Oracle: Vorhandensein von Triggern für die Erstellung eines neuen Primärschlüssels aus einer Sequenzdefinition.

Für MS Access stehen diese Informationen nicht zur Verfügung. Ersatzweise kann daher nur ein stark vereinfachtes Verfahren angewendet werden. Mit der Prüfung der Datenbankstruktur wird für jede im Repository enthaltene ASYS-Datenbankklasse eine Abfrage auf alle ihre Attribute ausgeführt, die so gestaltet ist, dass sie keine Treffermenge ergibt.

  • Gibt es die Tabelle oder den View unter dem zur Klasse hinterlegten Datenbanktabellennamen und alle Attribute, kann die Abfrage problemlos ausgeführt werden.
  • Fehlt die Tabelle oder sind nicht alle Attribute aus dem ASYS-Datenmodell in der Datenbank vorhanden, so läuft die Ausführung der Abfrage auf einen Fehler, der in der Maske ausgegeben wird.
  • Für Access kann keine Prüfung der korrekten Längen für Attribute von Typ String durchgeführt werden!
  • Für Access kann keine Prüfung auf das Vorhandensein von Indices durchgeführt werden!

Maske Datenbanküberprüfung; Beispiel für Access via ODBC

Maske Datenbanküberprüfung; Beispiel für Oracle via JDBC

Die obere Liste Klassen / Views OK nimmt alle überprüften Tabellen auf, die sich ohne Fehler prüfen ließen.

Die untere Liste Klassen / Views mit Problemen nimmt alle überprüften Tabellen auf, bei denen eine Fehlermeldung zurückgeliefert wurde. Der Fehlertext des Fehlers2) wird mit ausgegeben und kann einen Hinweis auf die Ursache geben - im vorstehend abgebildeten ersten Beispiel fehlt offenbar ein Attribut in der Tabelle, der Name des fehlenden Attributs ist aber nicht bekannt und muss anderweitig ermittelt werden.

Mit dem Ankreuzfeld LEA-Klassen ignorieren wird die Prüfung auf Tabellen beschränkt, die nicht zur LEA-Erweiterung gehören. Da LEA nur in einigen Bundesländern im Einsatz und damit Bestandteil der ASYS-Datenbankstruktur ist, ist das Ankreuzfeld standardmäßig gesetzt. Wenn Sie das Ankreuzfeld zurücknehmen aber LEA bei Ihnen nicht installiert ist, werden Sie viele Fehlermeldungen erhalten und dabei relevante ggf. übersehen.

Die Prüfung wird über den Button Prüfung durchführen gestartet. Die Prüfung dauert wenige Momente (Access) bis ca. 30 Minuten (Oracle) - die Anbindung der Datenbank und ihre Auslastung beeinflusst aber die Dauer der Prüfung.

In folgenden Fällen werden automatisch Datenbankänderungsskripte erstellt und im Verzeichnis %asys_home%\dbscript\[DB-TYP] abgelegt (sofern dies aufgrund fehlender Datenrechte nicht möglich sein sollte, werden die Skriptdateien im user_home-Verzeichnis abgelegt):

  • Bei fehlenden Indizes
  • Bei falschen Feldlängen
  • Bei fehlerhaften Views
  • Bei fehlenden Triggern (nur Oracle) - gesonderte Skriptdatei

Die Skripte können über die Maske Ausführen von SQL-Skripten ausgeführt werden.

Über den Button Schließen kann die Maske geschlossen werden.


Weitere Informationen zu dieser Maske
keine
landesspezifische Zusatzinformationen: SH HH NI HB NW HE RP BW BY SL BE MV ST BB TH SN

Zurück zum Seitenanfang


1)
Die Datenbanken können zusätzliche und/oder zusammengesetzte Indices enthalten. Das Fachobjektemodell enthält für einzelne Attribute Index-Markierungen. Für jede Tabelle wird überprüft, ob es mindestens eine Indexdefinition gibt, in dem das markierte Attribut enthalten ist.
2)
Dieser Fehlertext wird unverändert aus der Programmbibliothek zur Anbindung der Datenbank - s.a. Datenbankzugangsdefinition - übernommen und ausgegeben. Eine Interpretation dieses Fehlertextes durch ASYS erfolgt nicht.
  • adm6/chd/chkdbstrk.txt
  • Zuletzt geändert: 2016/10/30 17:34
  • von Stephan Meyer