ciao a tutti, ho un problema con Apache Derby, uso NetBeans .
Credo di aver installato tutto, ed in effetti il programma funziona sulla mia macchina, ma quando lo sposto su un'altra macchina non trova il db.
Ho impostato le " Java DB Properties" :
Java DB Installation : C:\Programmi\Sun\JavaDB
Database Location : cartella del mio programma che voglio spostare
In effetti nella "Database Location" compare la cartella con il nome del mio database, ma non riesco a capire se contenga veramente le tabelle o cosa. Mi sembra come se la collocazione del database la sappia NetBeans, ma non la mia applicazione.
Altro problema, prima di poter accedere al database, devo connetterlo da "Services-Drivers", come faccio a connetterlo da codice?
Posto il metodo che uso per leggere i dati da db, che ripeto, funziona solo sulla macchina dove ho creato il DB.
Qualche suggerimento ?
codice:
public void leggiDataBase() {
try {
String ComboScelta = (String) ComboDbTab.getSelectedItem();
String driver = "org.apache.derby.jdbc.EmbeddedDriver";
Class.forName(driver).newInstance();
String protocol = "jdbc:derby://localhost:1527/infoDb;user=***;password=***;create=true";
Connection conn = DriverManager.getConnection(protocol);
java.sql.Statement exe = conn.createStatement();
String QueryString = "SELECT * from APP."+ComboScelta;
ResultSet rs = null;
rs = exe.executeQuery(QueryString);
int cont=0;
for (int i = 0; i < arrayDb.length; i++) {
arrayDb[i]=null;
}
while (rs.next()) {
arrayDb[cont]=rs.getString(1) + " --- " + rs.getString(2);
cont=cont+1;
}
} catch (SQLException ex) {
Logger.getLogger(DbView.class.getName()).log(Level.SEVERE, null, ex);
} catch (ClassNotFoundException ex) {
Logger.getLogger(DbView.class.getName()).log(Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
Logger.getLogger(DbView.class.getName()).log(Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
Logger.getLogger(DbView.class.getName()).log(Level.SEVERE, null, ex);
}
}
Grazie.