Hallo Allerseits,
ich öffne eine DB- Verbindung:
Das funktioniert auch, kann ich wunderbar nutzen.
Jetzt möchte ich die Verbindung schließen:
Ich möchte erreichen, dass ich die DB- Dateien jetzt verschieben kann, also dass die DB- Verbindung nicht mehr besteht. Leider ist dies nach diesen Aufrufen nicht möglich. Kann mir jemand sagen, was ich vergessen habe? Ich dachte mit dem
hätte es sich erledigt.
ich öffne eine DB- Verbindung:
Code:
private EntityManagerFactory emf;
private EntityManager em;
private Connection connection;
...
this.setDataDirectory(ApplicationInfo.getInstance().getDataDirectory());
this.dataBase = db;
Map<String,String> map = new HashMap();
map.put("toplink.jdbc.url", this.protocol + dataDirectory+dataBase);
emf = Persistence.createEntityManagerFactory("TimeControlPU", map);
try {
em = emf.createEntityManager();
connection = DriverManager.getConnection(protocol + this.dataDirectory + this.dataBase);
} catch (Exception e) {
this.createDataBase();
if (this.actualStatus == DBState.NOSERVER){
....
}
}
else {
map.put("toplink.ddl-generation", "create-tables");
emf = Persistence.createEntityManagerFactory("TimeControlPU", map);
em = emf.createEntityManager();
}
actualStatus = DBState.CONNECTED;
Das funktioniert auch, kann ich wunderbar nutzen.
Jetzt möchte ich die Verbindung schließen:
Code:
emf.close();
try {
connection.close();
this.actualStatus = DBState.NOT_CONNECTED;
} catch (SQLException ex) {
Logger.getLogger(DBConnector.class.getName()).log(Level.SEVERE, null, ex);
}
Code:
connection.close();