Connettere app java e database

di il
11 risposte

Connettere app java e database

Salve a tutti,

Sto tentando in tutti i modi di connettere una semplice app composta da due classi ad un database. Ho seguito tutti gli step necessari ma sembra non funzionare.

Ho caricato il driver mssql-jdbc-9.2.1.jre15 su eclipse, ma nonostante questo quando tento di runnare l'app mi appare il seguente messaggio di errore:

Errore caricamento driver
java.lang.ClassNotFoundException: com.microsoft.sqlserver.jbdc.SQLServerDriver
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:606)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:168)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:377)
at connessionedb.ConnessioneDB.getConnection(ConnessioneDB.java:15)
at connessionedb.Principale.main(Principale.java:19)
--------------------------------------------------------------------------------------------------------
Da quello che leggo sul web sembrerebbe che è come se non avessi il driver caricato. Non so cosa fare onestamente.

Dove sbaglio?

La mia java version per vostra info (nel caso servisse): 10.0.1

Grazie

11 Risposte

  • Re: Connettere app java e database

    Ciao!

    le app non si connettono direttamente al db.
    per interagire con un db da una app, devi creare un programma lato server nel linguaggio che preferisci (php, .net, java, ecc), ed inviare richieste http a questo web service.

    ad esempio invii una richiesta per visualizzare i dati all'indirizzo remoto (https://www.sito/get_dati.ph).
    questo risponderà con i dati strutturati (json o xml).
    nella app fai il parsing della risposta.

    a grandi linee funziona così.
    questo uno dei vari tutorial che usa php: https://www.androidhive.info/2012/05/how-to-connect-android-with-php-mysql/
  • Re: Connettere app java e database

    Frengo ha scritto:


    Ho caricato il driver mssql-jdbc-9.2.1.jre15 su eclipse
    Detto così purtroppo è molto vago. Innanzitutto che tipo di applicazione è la tua? Una classica applicazione "desktop" oppure "console"?
    Che tipo di progetto hai fatto in Eclipse, un semplice Java Project oppure è basato su Maven/Gradle?
  • Re: Connettere app java e database

    fermat ha scritto:


    Ciao!

    le app non si connettono direttamente al db.
    per interagire con un db da una app, devi creare un programma lato server nel linguaggio che preferisci (php, .net, java, ecc), ed inviare richieste http a questo web service.

    ad esempio invii una richiesta per visualizzare i dati all'indirizzo remoto (https://www.sito/get_dati.ph).
    questo risponderà con i dati strutturati (json o xml).
    nella app fai il parsing della risposta.

    a grandi linee funziona così.
    questo uno dei vari tutorial che usa php: https://www.androidhive.info/2012/05/how-to-connect-android-with-php-mysql/
    Ciao Fermat, grazie della risposta, lato server è già tutto pronto.
  • Re: Connettere app java e database

    andbin ha scritto:


    Frengo ha scritto:


    Ho caricato il driver mssql-jdbc-9.2.1.jre15 su eclipse
    Detto così purtroppo è molto vago. Innanzitutto che tipo di applicazione è la tua? Una classica applicazione "desktop" oppure "console"?
    Che tipo di progetto hai fatto in Eclipse, un semplice Java Project oppure è basato su Maven/Gradle?
    Ciao Andbin, grazie, in breve si tratta di un'app per vedere se riesco a stabilire una connessione col server, nulla di particolare. Sono solo due classi create con eclipse, seguendo le istruzioni che mi sono state date, non saprei quindi dirti se si tratta di un'app console o desktop (credo la seconda..). Il progetto è un semplice java project.

    Cercando su internet mi sono imbattuto nella risposta sottostante a una persona che aveva un problema uguale:

    "The CLASSPATH variable is the search string that Java Virtual Machine (JVM) uses to locate the JDBC drivers on your computer. If the drivers are not listed in your CLASSPATH variable, you receive the following error message when you try to load the driver: java.lang.ClassNotFoundException: com/microsoft/jdbc/sqlserver/SQLServerDriver"

    Io ho caricato il driver descritto nel messaggio precedente cliccando sul progetto con il tasto destro del mouse e poi su build path.
  • Re: Connettere app java e database

    Frengo ha scritto:


    Il progetto è un semplice java project.

    Io ho caricato il driver descritto nel messaggio precedente cliccando sul progetto con il tasto destro del mouse e poi su build path.
    Se è un "normale" Java Project di Eclipse, la cosa più semplice (e anche più "portabile", se es. zippi il progetto e lo dai a qualcuno o lo metti su altro PC) è di creare una directory "lib" allo stesso livello della "src", mettendoci dentro il/i jar necessari.
    Poi nel Java Build Path del progetto, sezione Libraries "tiri dentro" il/i jar usando il pulsante "Add JARs..." (attenzione, NON il "Add External JARs...").

    Ah, e siccome hai parlato di Java 10, devi anche precisare se il progetto usa o no il nuovo module system (hai un module-info.java ??)
  • Re: Connettere app java e database

    Scusate, per app avevo dato per scontato si parlasse di app android.....
  • Re: Connettere app java e database

    Perdonami, sono alle prime armi e faccio confusione con i termini
  • Re: Connettere app java e database

    andbin ha scritto:


    Frengo ha scritto:


    Il progetto è un semplice java project.

    Io ho caricato il driver descritto nel messaggio precedente cliccando sul progetto con il tasto destro del mouse e poi su build path.
    Se è un "normale" Java Project di Eclipse, la cosa più semplice (e anche più "portabile", se es. zippi il progetto e lo dai a qualcuno o lo metti su altro PC) è di creare una directory "lib" allo stesso livello della "src", mettendoci dentro il/i jar necessari.
    Poi nel Java Build Path del progetto, sezione Libraries "tiri dentro" il/i jar usando il pulsante "Add JARs..." (attenzione, NON il "Add External JARs...").

    Ah, e siccome hai parlato di Java 10, devi anche precisare se il progetto usa o no il nuovo module system (hai un module-info.java ??)
    Grazie mille, risolto
  • Re: Connettere app java e database

    Ciao,

    Torno sull'argomento per chiedervi dove posso trovare del materiale teorico sulla jdbc (in sostanza il significato di tutti i passaggi che si usano nella classe Connessione e in quella principale), perché sul mio manuale non ve n'è traccia.
    Giusto per capire cosa succede nelle classi coinvolte, proprio a livello basilare.
    Magari potete segnalarmi qualcosa?

    Grazie
  • Re: Connettere app java e database

    Frengo ha scritto:


    Torno sull'argomento per chiedervi dove posso trovare del materiale teorico sulla jdbc (in sostanza il significato di tutti i passaggi che si usano nella classe Connessione e in quella principale)
    Sicuramente, come minimo, sul tutorial ufficiale Oracle: Trail: JDBC Database Access
  • Re: Connettere app java e database

    andbin ha scritto:


    Frengo ha scritto:


    Torno sull'argomento per chiedervi dove posso trovare del materiale teorico sulla jdbc (in sostanza il significato di tutti i passaggi che si usano nella classe Connessione e in quella principale)
    Sicuramente, come minimo, sul tutorial ufficiale Oracle: Trail: JDBC Database Access
    Grazie davvero e complimenti per il tuo blog
Devi accedere o registrarti per scrivere nel forum
11 risposte