Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    25

    [java+mysql]aiuto sui diver

    ciao a tutti,
    scusate per la ripetitività dell'argomento ma proprio non riesco a risolvere, ho già fatto varie search e cercato di tradurre vari manuali ma senza successo...
    sto provando a connettermi a mysql, il servizio mysqld sta funzionando a dovere. Uso il codice in fondo al messaggio, ed i .jar dei driver sono nella cartella del proggetto(voglio che il programma non richieda altre installazioni tranne java e mysql).
    La compilazione va a buon fine, ma per lanciare il programma se da shell scrivo:

    Codice PHP:
    java LoadDriver 
    l'errore riscontrato è
    Codice PHP:
    SQLExceptionNo suitable driver found for jdbc:mysql://localhost/test?user=monty&password=greatsqldb
    SQLState08001
    VendorError

    i driver scompattati e il mio programma si trovano in /home/serverJava, ma se scrivo:
    Codice PHP:
    java -cp /home/serverJava/mysqlConnector.jar LoadDriver 
    l'errore riscontrato è
    Codice PHP:
    Exception in thread "main" java.lang.NoClassDefFoundErrorLoadDriver
    Caused by
    java.lang.ClassNotFoundExceptionLoadDriver
            at java
    .net.URLClassLoader$1.run(URLClassLoader.java:200)
            
    at java.security.AccessController.doPrivileged(Native Method)
            
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
            
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
            
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
            
    at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
            
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319

    codice della classe:
    Codice PHP:
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;

    // Notice, do not import com.mysql.jdbc.*
    // or you will have problems!

    public class LoadDriver {
       public static 
    void main(String[] args) {
          try{
             
    // The newInstance() call is a work around for some
                // broken Java implementations
                
    Class.forName("com.mysql.jdbc.Driver").newInstance();
            }catch (
    Exception ex) {
               
    // handle the error
           
    }try {
              
    Connection conn DriverManager.getConnection("jdbc:mysql://localhost/test?" "user=monty&password=greatsqldb");
              
    System.out.println("Connessione stabilita!");
              
    conn.close();
              
    // Do something with the Connection
              //...
          
             
    }catch (SQLException ex) {
                
    // handle any errors
                
    System.out.println("SQLException: " ex.getMessage());
                
    System.out.println("SQLState: " ex.getSQLState());
                
    System.out.println("VendorError: " ex.getErrorCode());
             }
          }


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

    Re: [java+mysql]aiuto sui diver

    Originariamente inviato da lesto
    ma se scrivo:
    Codice PHP:
    java -cp /home/serverJava/mysqlConnector.jar LoadDriver 
    l'errore riscontrato è
    Codice PHP:
    Exception in thread "main" java.lang.NoClassDefFoundErrorLoadDriver 
    Devi mettere in "classpath" anche le "tue" classi. Visto che dal codice mi sembra che LoadDriver non sia in un package e immaginando che LoadDriver.class sia nella directory in cui ti trovi:

    java -cp /home/serverJava/mysqlConnector.jar:. LoadDriver
    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
    Mar 2007
    Messaggi
    25
    grazie, avevo intuito qualcosa del genere ma scrivevo sbagliato il comado(usavo il ; al posto di e pensavo che il -cp AGGIUNGESSE temporaneamente un path ai CLASSPATH...
    ora tutto "funziona ":
    Codice PHP:
    java -cp /home/serverJava/mysqlConnector.jar:. LoadDriver
    SQLException
    Communications link failure

    Last packet sent to the server was 0 ms ago
    .
    SQLState08S01
    VendorError

    vabbè buonanotte, speriamo che mi porti consiglio

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da lesto
    (usavo il ; al posto di : )
    Su Windows si usa ; su Linux si usa :

    Originariamente inviato da lesto
    pensavo che il -cp AGGIUNGESSE temporaneamente un path ai CLASSPATH...
    No "sovrascrive" e ignora del tutto la variabile CLASSPATH.
    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
    Mar 2007
    Messaggi
    25
    andbin grazie per l'aiuto, anche l'ultimo problema l'ho risolto abilitando in mysql il tcp/ip
    finalmente posso iniziare a programmare java su linux, e chi torna più a win^^

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.