2016-08-04 50 views
0

Zuerst bin ich neu in Java DB Programmierung, also ist mein Ansatz vielleicht falsch. Also bitte behalte das im Hinterkopf. Jetzt die Frage:Wie überprüft man, ob die vorhandene Datenbank mit dem Format des Programms übereinstimmt

Mein Programm lässt den Benutzer eine vorhandene Java-Derby-Datenbank öffnen. Wenn es geöffnet wird, möchte ich überprüfen, ob die Datenbank die richtigen Tabellen enthält und jede Tabelle die richtigen Spalten hat - nicht nur Namen, sondern auch Typ. Bis jetzt versuche ich, jede Tabelle zu erstellen, und wenn sie eine Ausnahme auslöst, weiß ich, dass die Tabelle existiert. Jetzt muss ich die Spaltentypen überprüfen. Was ist die beste Vorgehensweise, um dies zu tun? Hard-Code-Prüfung für jeden Spaltentyp als beantwortet here im Catch-Block?

Antwort

0

Wenn Sie möchten, um herauszufinden, welche Tabellen in der Datenbank vorhanden sind, und welche Spalten jede Tabelle hat, etc., gibt es (mindestens) zwei einfache Ansätze:

  1. Ausgabe von SQL-Abfragen gegen die Derby-Systemkataloge, wie

    Wählen Sie s.schemaname || "." || t.tablename
    von sys.systables t, sys.sysschemas s
    wo t.schemaid s.schemaid = und t.tabletype = Reihenfolge 'T' durch s.schemaname, t.tablename;

  2. Verwenden der API durch java.sql.DatabaseMetaData vorgesehen, und ihre Methoden wie getSchemas(), getTables() und getColumns()