[Java] netbeans e database

Discussione in 'Java' iniziata da nephilim89, 4 Luglio 2010.

  1. nephilim89

    nephilim89 Utente Attivo

    Registrato:
    24 Marzo 2010
    Messaggi:
    64
    Mi Piace Ricevuti:
    5
    Punteggio:
    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:eek:dbc:; Driver={Microsoft Access Driver (*.mdb)}; DBQ=my_db.mdb e mi da questo errore
    [​IMG]

    possibile che sia cosi complicato collegare un db??potreste darmi una mano con uno qualsiasi di questi metodi?
     
    A ottofonsuppost piace questo elemento.
  2. lespaul

    lespaul Utente Attivo

    Registrato:
    30 Luglio 2009
    Messaggi:
    91
    Mi Piace Ricevuti:
    6
    Punteggio:
    0
    Home Page:
    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
     
    A ottofonsuppost piace questo elemento.
  3. nephilim89

    nephilim89 Utente Attivo

    Registrato:
    24 Marzo 2010
    Messaggi:
    64
    Mi Piace Ricevuti:
    5
    Punteggio:
    0
    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'è!
     
    A ottofonsuppost piace questo elemento.
  4. nephilim89

    nephilim89 Utente Attivo

    Registrato:
    24 Marzo 2010
    Messaggi:
    64
    Mi Piace Ricevuti:
    5
    Punteggio:
    0
    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
     
    A ottofonsuppost piace questo elemento.
  5. lespaul

    lespaul Utente Attivo

    Registrato:
    30 Luglio 2009
    Messaggi:
    91
    Mi Piace Ricevuti:
    6
    Punteggio:
    0
    Home Page:
    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
     
    A ottofonsuppost piace questo elemento.
  6. nephilim89

    nephilim89 Utente Attivo

    Registrato:
    24 Marzo 2010
    Messaggi:
    64
    Mi Piace Ricevuti:
    5
    Punteggio:
    0
    se hai qualche esempio per il mio caso sarebbe bellissimo!io non riesco a trovare niente..
     
    A ottofonsuppost piace questo elemento.
  7. lespaul

    lespaul Utente Attivo

    Registrato:
    30 Luglio 2009
    Messaggi:
    91
    Mi Piace Ricevuti:
    6
    Punteggio:
    0
    Home Page:
    è 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
     
    A ottofonsuppost piace questo elemento.
  8. nephilim89

    nephilim89 Utente Attivo

    Registrato:
    24 Marzo 2010
    Messaggi:
    64
    Mi Piace Ricevuti:
    5
    Punteggio:
    0
    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
     
    A ottofonsuppost piace questo elemento.
Sto caricando...

Condividi questa Pagina