Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    22

    [JAVA] Problemi con il database

    Allora...
    Ho fatto un piccolo programma in Java:
    Ho implementino le classi necessarie a realizzare in modalità client-server (usando socket) la
    funzionalità di richiesta/visualizzazione di un "conto corrente".
    Ho poi naturalmente modificato il client dell'applicazione affinchè funzioni come applet.
    Ora il problema però sta nell'accesso al database (mysql) nel quale memorizzo i conti corrente.
    Ho gestito l'eccezione che potrebbe verificarsi nel caso in cui il database mancasse e quindi non si riuscisse a connettersi (SQLException)

    IL PROBLEMA è che se faccio partire il server da Eclipse tutto mi funziona alla grande e mi gestisce correttamente l'eccezione quando vado ad eliminare il database. Ma se costruisco il file JAR del Server e lo faccio partire mi dice sempre che è impossibile accedere al database anche se però il database è presente!!

    In particolare nel caso in cui il database è presente questo pezzo di codice se eseguito tramite Eclipse mi ritorna vero, se eseguito tramite JAR mi ritorna false. PERCHéé??

    codice:
    public static boolean initialize_connection()
    {
       boolean connesso=false;
       try
          {
    	Class.forName("com.mysql.jdbc.Driver"); 
    	connesso=true;
          }
          catch(Exception e)
          {
                System.out.println("Errore nella inizializzazione: " + e.getMessage());
          }
          return connesso;
    }
    Qualsiasi suggerimento è utile. Infatti la questione è abbastanza urgente. Aiutatemi, please. Grazie.Ciao

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [JAVA] Problemi con il database

    Originariamente inviato da gyuseppe
    IL PROBLEMA è che se faccio partire il server da Eclipse tutto mi funziona alla grande e mi gestisce correttamente l'eccezione quando vado ad eliminare il database. Ma se costruisco il file JAR del Server e lo faccio partire mi dice sempre che è impossibile accedere al database anche se però il database è presente!!
    Se l'applicazione nel tuo jar ha bisogno di usare altre librerie in jar esterni, ovviamente tali jar devono essere "visibili" alla JVM. Hai fatto (spero) in modo che lo siano?? Questo vale in generale!

    La cosa più semplice è specificare i jar usando l'attributo Class-Path nel manifest del tuo jar.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    22
    Questo è il contenuto del classpath
    codice:
    <?xml version="1.0" encoding="UTF-8"?>
    <classpath>
    	<classpathentry kind="src" path=""/>
    	<classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
    	<classpathentry exported="true" kind="lib" path="D:/Programmi/eclipse/plugins/mysql-connector-java-5.0.6/mysql-connector-java-5.0.6-bin.jar"/>
    	<classpathentry kind="output" path=""/>
    </classpath>
    Quindi cmq nel classpath penso che vado già a specificare i jar che utilizzo (mysql-connector-java-5.0.6-bin.jar) ed il percorso scritto è corretto.
    Per quanto riguarda il manifest, utilizzando Eclipse per creare il file JAR me lo genera automaticamente, e il suo contenuto è questo:
    codice:
    Manifest-Version: 1.0
    Main-Class: gccb.GraficaServer
    Dove gccb.GraficaServer è la mia classe contenente il main.
    Come dovrei procedere secondo te?
    Grazie. ciao.

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da gyuseppe
    Questo è il contenuto del classpath
    codice:
    <?xml version="1.0" encoding="UTF-8"?>
    <classpath>
    	<classpathentry kind="src" path=""/>
    	<classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
    	<classpathentry exported="true" kind="lib" path="D:/Programmi/eclipse/plugins/mysql-connector-java-5.0.6/mysql-connector-java-5.0.6-bin.jar"/>
    	<classpathentry kind="output" path=""/>
    </classpath>
    Questo semmai è il classpath per la fase di "build" del progetto. Non è certamente usato quando si avvia una applicazione in un jar.

    Originariamente inviato da gyuseppe
    Per quanto riguarda il manifest, utilizzando Eclipse per creare il file JAR me lo genera automaticamente, e il suo contenuto è questo:
    codice:
    Manifest-Version: 1.0
    Main-Class: gccb.GraficaServer
    Dove gccb.GraficaServer è la mia classe contenente il main.
    Appunto, devi specificare l'attributo Class-Path. E nota che non dovresti mettere path assoluti ma al massimo relativi. Quindi le librerie devono "viaggiare" insieme al tuo jar.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    22
    mmm...scusami...ma mi potresti dire praticamente cosa dovrei fare?
    Che tipo di istruzioni dovrei aggiungere nel mio caso?

    Come avrai notato è la prima volta che mi trovo di fronte a queste problematiche...quindi non so dove mettere le mani...

    Grazie mille per la pazienza...

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da gyuseppe
    mmm...scusami...ma mi potresti dire praticamente cosa dovrei fare?
    Nel manifest del tuo jar ci metti:

    Class-Path: mysql-connector-java-5.0.6-bin.jar

    e nota che non avendo specificato alcun path, vuol dire che questo jar deve "viaggiare" insieme al tuo jar nella stessa directory.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    22
    nonostante i tuoi preziosi consigli...niente da fare...il problema rimane

    ah poi un'altra cosa strana...ho provato il tutto su altri due computer...su uno mi da lo stesso problema, sull'altro invece funziona tutto correttamente seguendo le stesse procedure nella creazione dei file jar da eclipse e senza fare modifiche al file manifest o al classpath!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.