2017-05-10 3 views
1

Aufgabe: Falls die Datenbank nicht verfügbar oder beschädigt ist, suchen Sie nach Sicherungskopien und kopieren Sie sie, falls vorhanden, in die Hauptdatenbank.Wie verhindert man, dass JDBC eine Datenbank erstellt?

Zeit, wenn ich eine Verbindung, falls es keine Datenbank ist, wird er automatisch erstellt wird:

Connection c = null; 
try { 
    Class.forName("org.sqlite.JDBC"); 
    c = DriverManager.getConnection("jdbc:sqlite:src/home/accounting/DB/myDatabase.sqlite"); 
    System.out.println("Opened database successfully"); 
    return c; 
} catch (Exception e) { 
    System.err.println(e.getClass().getName() + ": " + e.getMessage()); 
    return null; 
} 

I Datenbank verhindern möchten, dass erstellt wird, festzustellen, ob Datenbank nicht vorhanden ist oder beschädigt wird, und Trigger-Check für die Verfügbarkeit der Backup-Datenbank.

+0

JDBC nichts erstellen. Der MySQLLite-Treiber kann. – EJP

Antwort

2

Sie müssen überprüfen, ob die Datei Ihrer Datenbank Ausgang oder nicht:

String dbPath = "src/home/accounting/DB/myDatabase.sqlite"; 
File dbFile = new File(dbPath); 
if (dbFile.exists()) { 
    //database already exist don't create it again 
} else { 
    Connection c = null; 
    try { 
     Class.forName("org.sqlite.JDBC"); 
     c = DriverManager.getConnection("jdbc:sqlite:" + dbPath); 
     System.out.println("Opened database successfully"); 
     return c; 
    } catch (ClassNotFoundException | SQLException e) { 
     System.err.println(e.getClass().getName() + ": " + e.getMessage()); 
     return null; 
    } 
} 
Verwandte Themen