Wir haben eine Java-Anwendung erstellt, die die JavaDB-Datenbank in Netbeans IDE verwendet. Wir möchten, dass das Programm bei jedem Start überprüft, ob die Tabellen der Datenbank bereits erstellt wurden, und sie andernfalls erstellen. Wie machen wir das? thanxJavaDB - Überprüfung, ob eine Datenbank existiert
6
A
Antwort
6
Ich benutze:
DatabaseMetaData metas;
ResultSet tables;
Statement stat;
m_connexion = DriverManager.getConnection("jdbc:derby:mybase;create=true");
metas = m_connexion.getMetaData();
stat = m_connexion.createStatement();
tables = metas.getTables(m_connexion.getCatalog(), null, "MYTABLE", null);
if (!tables.next())
stat.execute(
"CREATE TABLE APP.MYTABLE (" // etc.
... und es ist für mich zu arbeiten.
0
Istaos Test für die Existenz eines Tisches hat bei Derby nicht funktioniert. Die Tabelle wurde nie gefunden, obwohl sie zuvor erstellt wurde. Was fehlt, ist, dass Sie TABLE_SCHEM als "APP" angeben und dann den Tabellentyp so einstellen, dass er "TABLE" enthält. Vielleicht funktioniert die Verwendung von null in früheren Versionen, aber die Verwendung von Derby 10.12 findet keine zuvor erstellte Tabelle mit diesen Parametern, die auf null gesetzt sind.
Connection conn = DriverManager.getConnection(DB_PROTO + DB_NAME + ";create=true");
DatabaseMetaData metas = conn.getMetaData();
ResultSet tables = metas.getTables(conn.getCatalog(), "APP", TABLE_NODES, new String[] {"TABLE"});
if (!tables.next()) {
Statement stat = conn.createStatement();
stat.execute("create table " + ...
Hoffe, das hilft jemand anderem.
Verwandte Themen
- 1. Abfrage, ob eine Android-Datenbank existiert!
- 2. Überprüfung, ob eine ID in Ressourcen existiert (R.id.etwas)
- 3. Überprüfung, ob ein Wert in sqlite db mit Go existiert
- 4. PouchDB überprüfen, ob lokale Datenbank existiert
- 5. HTML5 Datei API einfache Überprüfung, ob die Datei existiert
- 6. Java: Verwendung von OTF-Schriften Überprüfung, ob bestimmte Schriftart existiert
- 7. Überprüfung, ob ein Benutzer mit AngularJS und ng-if existiert
- 8. Wie überprüft man, ob eine MySQL-Datenbank existiert
- 9. EF7 - Wie überprüft man, ob eine Datenbank existiert?
- 10. Überprüfung, ob ein Benutzer bereits in Drupal existiert
- 11. Überprüfung, ob ein ViewController auf dem Navigationsstapel existiert
- 12. Überprüfen, ob eine Formulareingabe existiert
- 13. Überprüfen Sie, ob eine SQL-Tabelle existiert
- 14. Überprüfung, ob eine optionale Protokollmethode implementiert wurde
- 15. VB.NET: XMLWriter() prüfen, ob ein Verzeichnis existiert und ob eine Datei existiert, sonst erstellen Sie sie
- 16. Derby/JavaDB vs SQLiteJDBC
- 17. Überprüfen, ob Fragment existiert
- 18. Android Drive API - Überprüfung, ob eine vorhandene Datei anzeigt existiert immer nicht
- 19. Wie überprüft man, ob eine Tabelle oder Spalte in einer Datenbank existiert?
- 20. Erzähle, ob eine gegebene Anmeldung unter Linux mit Python existiert
- 21. Rails, die prüfen, ob ein Datensatz in der Datenbank existiert
- 22. Überprüfen Sie die Datenbank, ob ein bestimmtes Feld bereits existiert
- 23. Firebase Angularfire2 überprüft, ob ein Benutzer in der Datenbank existiert
- 24. CoreData - überprüfen, ob Objekt in der Datenbank existiert
- 25. Schnelle Überprüfung, ob AVAudioPlayer abstürzt
- 26. Überprüfung, ob Datenbankwiederherstellung abgeschlossen ist
- 27. Vue.js: Prüfe, ob eine Komponente existiert
- 28. Testen, ob eine Variable in data.table existiert
- 29. Überprüfen Sie, ob eine Klassenkonstante existiert
- 30. ADO.Net Excel, Prüfen, ob eine Tabelle existiert?
möglich duplicate of [Wie überprüfe ich, ob eine Datenbank in Hsqldb/Derby existiert?] (Http://stackoverflow.com/questions/3801773/how-to-check-if-a-database-exists-in-hsqldb -derby) – Raedwald
Die Antwort von knoblyman ist korrekt, nur füge ich hinzu, dass die Suche in der Tabelle in Großbuchstaben erfolgen muss, da die Metadaten in Großbuchstaben geschrieben sind, obwohl Sie Ihre Tabelle in Kleinbuchstaben erstellt haben –