Connessione a DB

di il
6 risposte

Connessione a DB

Salve, oggi dovevo collegarmi ad un database utilizzando Java, ma non avendo mai avuto esperienza in questo ambito sto avendo delle difficoltà. Nel momento in cui carico il driver, il compilatore mi alza l'eccezzione "ClassNotFoundException" relativo al driver in questione. Cercando su internet ho visto che il problema potesse essere dovuto al fatto che non avevo incluso la libreria del jdbc nel progetto, ma era una cosa che in realtà avevo fatto... Posto quel poco di codice che ho scritto con relativo errore, sperando che voi possiate aiutarmi.. Grazie!
public class Prova {

    public static void main(String[] args) {

        try {
         String driver = "c-treeACE OBDC Driver";   //Errore qui
         Class.forName(driver);
        Connection con =
        DriverManager.getConnection ("jdbc:odbc:xxxxx", "xxxx", "xxxxx");
        Statement cmd = con.createStatement ();
        }
L'errore è:
java.lang.ClassNotFoundException: c-treeACE OBDC Driver
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at prova.Prova.main(Prova.java:18)

6 Risposte

  • Re: Connessione a DB

    AndreaDG ha scritto:


             String driver = "c-treeACE OBDC Driver";   //Errore qui
             Class.forName(driver);
    Mi spiace ma "c-treeACE OBDC Driver" NON è un nome (qualificato) di classe!

    Precisa meglio cosa stai usando, perché stai equivocando un tantino ...
  • Re: Connessione a DB

    Avevo letto che bisogna inizialmente caricare il Driver per collegarsi al DB, che nel mio caso ha quel nome.. Sicuramente sbaglio qualcosa però..
  • Re: Connessione a DB

    Http://www.iet.unipi.it/a.bechini/master.it/docs/06_JDBC.pdf
    Stavo seguendo questa guida per fare il collegamento, ma ripeto, non avendo esperienza in questo campo non so bene come muovermi
  • Re: Connessione a DB

    AndreaDG ha scritto:


    Avevo letto che bisogna inizialmente caricare il Driver per collegarsi al DB, che nel mio caso ha quel nome..
    Ti ripeto che a Class.forName va passato un nome DI CLASSE. I nomi di classi "completamente qualificati" sono nomi con i package separati con il punto, ad esempio com.mysql.jdbc.Driver (questa come esempio è la classe del driver JDBC per il DB MySQL).

    Quella che hai scritto tu NON è un nome di classe.

    AndreaDG ha scritto:


    Http://www.iet.unipi.it/a.bechini/master.it/docs/06_JDBC.pdf
    Stavo seguendo questa guida per fare il collegamento, ma ripeto, non avendo esperienza in questo campo non so bene come muovermi
    Se hai letto la slide, vedi che ad un certo punto parla del "bridge JDBC/ODBC", la cui classe del driver è sun.jdbc.odbc.JdbcOdbcDriver.
    Questo bridge esisteva di serie nel runtime java (non dovevi aggiungere alcun jar) ed era usato (specialmente in passato) per potersi connettere a basi di dati tramite ODBC del sistema.
    Dico "esisteva" ed "era" perché nel JDK/JRE 8 questo driver è stato RIMOSSO.

    Quindi ripeto: chiarisci quale database intendi usare e attraverso cosa.

    P.S. ho cercato quel "c-treeACE" ed ho trovato il sito della Faircom:

    "A fully ACID advanced key-value store that supports multiple relational & non-relational APIs."

    Non ne so nulla di più del prodotto. Ma c'è la documentazione: https://www.faircom.com/developers/documentatio

    Guarda da lì la c-treeACE SQL JDBC Driver Guide
  • Re: Connessione a DB

    Ti chiedo scusa, mi era stato semplicemente detto che il driver da utilizzare fosse quello che avevo scritto, e di conseguenza ho provato. Grazie mille per il tuo aiuto comunque, adesso mi è tutto più chiaro. Vedrò di venirne a capo documentandomi meglio. Grazie ancora per il tuo supporto.
  • Re: Connessione a DB

    Ok ho risolto, non avendo esperienza in questo ambito avevo sbagliato come dici tu il nome del driver. Nella documentazione ho trovato tutto... Chiedo scusa per il disturbo, ancora sono un neofita e sto cercando di imparare... Grazie mille comunque per i chiarimenti
Devi accedere o registrarti per scrivere nel forum
6 risposte