Pagina 1 di 1

JAVA-JDBC.....non va e pergiunta senza errori[RISOLTO]

Inviato: lun 14 gen 2013, 20:03
da dottor3
Ciao a tutti
ho installato JDBC come da manuale e settato il PATH come da manuale.
Scrivo il programmello pe connettermi a mysql, si compila senza errore alcuno e al momento dell'avvio si blocca senza dare segni di vita alcuni.

Eseguendo il programma con l'opzione -verbosse vedo che viene caricato tutto il necessario ma poi si blocca.

Ho provato anche con listati elementari ma niente......non so più cosa pensare.

Grazie a tutti

Re: JAVA-JDBC.....non va e pergiunta senza errori

Inviato: lun 14 gen 2013, 20:49
da ilmich
per poterti aiutare posta qualcosa in piu'... tipo i settaggi delle variabili di ambiente... il codice che usi... :)

anche sapere se mysql è impostato per accettare connessioni di rete nn guasterebbe :) (di default in slackware non è cosi' )

Re: JAVA-JDBC.....non va e pergiunta senza errori

Inviato: lun 14 gen 2013, 23:31
da dottor3
I settaggi sono quelli classici con la JDK in /usr/lib64/, con relativi $PATH al posto giusto.
Sono sicuro non siano i settaggi perchè il l'output in modalità verbose dice questo:
[Loaded com.mysql.jdbc.ConnectionProperties from file:/usr/lib64/jdk1.7.0.02/jre/lib/ext/mysql-connector-java-5.1.22-bin.jar]
quindi il DRIVER viene caricato.
il codice di prova connessione è questo:

Codice: Seleziona tutto

public class test {
    public static void main(String[] args){
        
        Connection con = null;
        try{
        con = DriverManager.getConnection("jdbc:mysql://localhost/arfea?user=root&password=l0r3nz0");
        System.out.println("Connesso");
        }catch(SQLException e){
            System.out.println(e.getMessage());
        }
    }

}
Questo snippet si ferma, come gli altri, quando viene invocato DriverManager.getConnection().
QUELLO CHE MI FA INCAZZARE é CHE NON ESISTE NESSUN ERRORE!!!!!!
Ho provato pure con JDB ma niente........
l'ultima cosa caricata visibile in modalità verbose è questa:
[Loaded sun.net.sdp.SdpProvider from /usr/lib64/jdk1.7.0.02/jre/lib/rt.jar]

MySQL è impostato correttamente perchè con PHP lavora correttamente e anche in remoto funziona.
:banghead: :banghead: :banghead: :banghead:

Re: JAVA-JDBC.....non va e pergiunta senza errori

Inviato: mar 15 gen 2013, 0:38
da ilmich
a prima vista dal codice che ho visto non hai caricato il driver mysql.

sostanzialmente la classe DriverManager è un registro di driver jdbc (che tipicamente viene usato per un solo driver e in questo caso mysql, ma tecnicamente puo' essere usata come factory per piu' driver jdbc se per esempio hai multipli datasource).

quando chiami il metodo getConnecion() con al suo interno una url, chiedi a questo particolare registro di scansionare tutti i driver che si sono registrati e restituirti il primo che riesce a collegarsi a quella url (infatti tutte le url jdbc sono del tipo jdbc:tipo_database:etcetcetcetc)

nel tuo caso nn vedo la parte che registra il driver mysql a questa factory, e forse potrebbe essere la causa del tuo problema.

questa parte è in effetti poco intuitiva, ma si basa sul fatto che in java nel 99% dei casi l'esecuzione del codice è lazy, ovvero se non fai riferimento a quella determinata classe niente in essa contenuto viene eseguito.
percio' aver messo nel classpath il driver nn è sufficiente per dire che è tutto ok.
devi eseguire la parte di registrazione che tipicamente è contenuta in una classe ad-hoc che nel caso del driver mysql è la seguente

Codice: Seleziona tutto

com.mysql.jdbc.Driver
non scendo ulteriormente nel dettagli ma prima di procedere ad ulteriori analisi di problemi prova ad aggiungere questa parte all'inizio del codice che hai postato e vedi se cambia qualcosa

Codice: Seleziona tutto

 try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException ex) {
System.out.println("errore caricamento driver mysql");
}
EDIT: altra cosa che nn vedo è l'indicazione nella url relativa alla porta di ascolto di mysql, ma qui la certezza che se nn indicata il driver java usi quella di default non ce l'ho.

Re: JAVA-JDBC.....non va e pergiunta senza errori

Inviato: mar 15 gen 2013, 16:56
da dottor3
Idem con patate al vapore.
Avevo pensato anche io a questo problema e avevo dapprima caricato il driver nel ciclo try/catch ma non avevo notato comunque cambiamenti.
La porta è quella di default, ma anche aggiungendola non capita nulla.

Re: JAVA-JDBC.....non va e pergiunta senza errori

Inviato: mar 15 gen 2013, 23:46
da Toni

Re: JAVA-JDBC.....non va e pergiunta senza errori

Inviato: mer 16 gen 2013, 0:51
da dottor3
Che io possa essere fulminato se non leggevo la documentazione ufficiale!

Ho trovato l'inghippo maledetto!!!
nel file di configurazione my.cnf l'opzione --skip-networking è disabilitata ma nel file rc.mysqld è dato come parametro all'avvio di mysqld un bel --skip-networking!!!!!!.

3 maledettissimi giorni per scoprire questo maledetto dispetto del divino!!!!

GRAZIE A TUTTI DI CUORE PER L'AIUTO!!!
Questo forum è sempre stato fantastico come la distribuzione che usiamo, e lo sarà sempre!!!!!!

Re: JAVA-JDBC.....non va e pergiunta senza errori[RISOLTO]

Inviato: mer 16 gen 2013, 12:11
da ilmich
facendolo per mestiere (il programmatore) ti posso assicurare che sti 3 giorni persi sono 3 giorni risparmiati in futuro ;)
cio' che conta è la determinazione a risolvere i problemi

contento che ora sia funzioni tutto :D
ciaup