[Java] netbeans e database

nephilim89

Utente Attivo
24 Mar 2010
64
5
0
ciao! devo creare una applicazione desktop con Netbeans, che sfrutta un database.ho bisogno che questo db sia portatile. da quello che ho capito le soluzioni sono 2: o usare un file Access,o usare un db integrato con derby. ora, io non riesco a collegare ne l'uno nè l'altro.
ecco i miei tentativi:

-all'inizio pensavo di usare un file di open office,ma ho letto che non c'è il driver.

-sono passato a apache derby. ho scaricato e settato tutto.poi da netbeans nel wizard Nuovo progetto faccio New database connection.. e nell'url metto:jdbc:derby:nomedb;create=true , ma non mi fa andare avanti col wizard perchè dice che il db non ha tabelle. quindi creo un file java esterno per creare un db con una tabella.dopo miliioni di tentativi per azzeccare la sintassi sql giusta, riprovo a fare new project da netbeans ma il risultato non cambia.

-lascio stare derby e provo a creare un db access.lo salvo nella stessa cartella che seleziono per creare il nuovo progetto. poi faccio new database connection,scelgo jdbc-odbc bridge url: jdbc:odbc:; Driver={Microsoft Access Driver (*.mdb)}; DBQ=my_db.mdb e mi da questo errore


possibile che sia cosi complicato collegare un db??potreste darmi una mano con uno qualsiasi di questi metodi?
 
  • Like
Reactions: ottofonsuppost
Ciao,
forse ci sono dei problemi nel percorso del file.
Fai una prova, metti il DB magari in 'c:' e prova a mettere nel campo 'url' il percorso completo 'c:\\mio_db.mdb' e vedi se funziona, giusto per capire se è questo il problema
 
  • Like
Reactions: ottofonsuppost
ciao,grazie per la risposta. inserendo il percorso completo non mi da più errore, però mi dice "connected database doesn't contain tables", una tabella invece c'è!
 
  • Like
Reactions: ottofonsuppost
se si può fare un progetto e collegare i database successivamente va bene uguale! mi serve che nell'applicazione vengano mostrate dentro una tabella i risultati di una select.quindi il databse mi serve per forza...
grazie
 
  • Like
Reactions: ottofonsuppost
Ciao, allora ti conviene fare tutto da codice, secondo me é il plugin di eclipse che porta un po di problemi con le connessioni con ms access. Io non ho riscontrato problemi con mysql perchè solitamente utilizzo quello. Comunque da quanto ho capito non fa al caso tuo.

Non ho mai utilizzato ms access comuqnue ti posso postare il codice per la connessione ad un database in java (bisogna cambiare solo i driver, le modalita sono identiche per tutti i tipi di database) ho indirizzarti a qualche buon esempio sulla rete
 
  • Like
Reactions: ottofonsuppost
è molto semplice effettuare la connessione:

Codice:
 String user = "";
 String pwd = "";   
String pathFileMsAccess = "c://db1.mdb";       
 Connection connection = DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="+pathFileMsAccess, user, pwd);
 PreparedStatement st = connection.prepareStatement("SELECT * FROM tabella");//Qui scrvi la query
 st.execute();//Esecuzione della query
 ResultSet rst = st.getResultSet();//Risultato
Il risultato della query lo trovi nell'oggetto ResultSet da utilizzare in questo modo:
Codice:
while(rst.next()) {//Come un'iteratore, avanzo per le righe del risultato
rst.getInt(1) // 1 è il numero della colonna, quindi in base alle colonne della tabella, poi se la colonna contiene testo usi getString() se boolean usi getBoolean() etc..
}

leggiti le specifiche per il ResultSet a questo link http://java.sun.com/j2se/1.4.2/docs/api/java/sql/ResultSet.html
 
  • Like
Reactions: ottofonsuppost
ho risolto cosi (sembra). ho fatto un progetto nuovo, in Servizi ho trovato l'url che avevo inserito del mio db,ho fatto connect e finalmente mi ha trovato le colonne!
spero funzioni

grazie per l'aiuto
 
  • Like
Reactions: ottofonsuppost

Discussioni simili