Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    6

    problemi con mysql-connector

    Salve,
    sto sviluppando un applicativo che deve connettersi ad un database tramite IDE Netbeans 6.1.
    Fra le tante classi ne ho scritto una in particolare che serve per la connessione al database

    codice:
    public DBCommunicator() throws ClassNotFoundException, SQLException{
             Class.forName("com.mysql.jdbc.Driver");
             connection = DriverManager.getConnection("jdbc:mysql://localhost/nomeDB" , "utente" , "passw");
             statement=connection.createStatement();
         }
    Tale metodo, che poi altro non è che il costruttore dell'oggetto, fino a ieri funzionava tranquillamente. Oggi, continuando con lo sviluppo dell'applicazione, mi esce fuori questa eccezione relativa all'istruzione DriverManager.getConnection(....)

    codice:
    com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception: 
    
    ** BEGIN NESTED EXCEPTION ** 
    
    java.net.SocketException
    MESSAGE: java.net.ConnectException: Connection refused: connect
    
    STACKTRACE:
    
    java.net.SocketException: java.net.ConnectException: Connection refused: connect
            at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:156)
            at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:284)
            at com.mysql.jdbc.Connection.createNewIO(Connection.java:2555)
            at com.mysql.jdbc.Connection.<init>(Connection.java:1485)
            at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
            at java.sql.DriverManager.getConnection(DriverManager.java:582)
            at java.sql.DriverManager.getConnection(DriverManager.java:185)
            at dbutility.DBCommunicator.<init>(DBCommunicator.java:21)
            at dbutility.DBSelect.<init>(DBSelect.java:17)
            at operation.OperazioniSuUtenti.searchUtente(OperazioniSuUtenti.java:48)
            at myApplication.RemoteInterfaceImplementation.selectUser(RemoteInterfaceImplementation.java:104)
            at smsnoticeserver.RemoteInterfaceImplementation_Skel.dispatch(Unknown Source)
            at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:386)
            at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:250)
            at sun.rmi.transport.Transport$1.run(Transport.java:159)
            at java.security.AccessController.doPrivileged(Native Method)
            at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
            at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
            at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
            at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
            at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
            at java.lang.Thread.run(Thread.java:619)
    
    
    ** END NESTED EXCEPTION **
    
    
    
    Last packet sent to the server was 5 ms ago.
            at com.mysql.jdbc.Connection.createNewIO(Connection.java:2621)
            at com.mysql.jdbc.Connection.<init>(Connection.java:1485)
            at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
            at java.sql.DriverManager.getConnection(DriverManager.java:582)
            at java.sql.DriverManager.getConnection(DriverManager.java:185)
            at dbutility.DBCommunicator.<init>(DBCommunicator.java:21)
            at dbutility.DBSelect.<init>(DBSelect.java:17)
            at operation.OperazioniSuUtenti.searchUtente(OperazioniSuUtenti.java:48)
            at myApplication.RemoteInterfaceImplementation.selectUser(RemoteInterfaceImplementation.java:104)
            at myApplication.RemoteInterfaceImplementation_Skel.dispatch(Unknown Source)
            at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:386)
            at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:250)
            at sun.rmi.transport.Transport$1.run(Transport.java:159)
            at java.security.AccessController.doPrivileged(Native Method)
            at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
            at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
            at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
            at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
            at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
            at java.lang.Thread.run(Thread.java:619)
            at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:255)
            at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:233)
            at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:359)
            at myApplication.RemoteInterfaceImplementation_Stub.selectUser(Unknown Source)
            at myApplicationClient.Core.selectUser(Core.java:59)
            at gui.Login.OkActionPerformed(Login.java:165)
            at gui.Login.access$200(Login.java:22)
            at gui.Login$3.actionPerformed(Login.java:88)
            at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
            at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
            at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
            at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
            at javax.swing.plaf.basic.BasicButtonListener$Actions.actionPerformed(BasicButtonListener.java:287)
            at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1636)
            at javax.swing.JComponent.processKeyBinding(JComponent.java:2849)
            at javax.swing.JComponent.processKeyBindings(JComponent.java:2884)
            at javax.swing.JComponent.processKeyEvent(JComponent.java:2812)
            at java.awt.Component.processEvent(Component.java:5911)
            at java.awt.Container.processEvent(Container.java:2023)
            at java.awt.Component.dispatchEventImpl(Component.java:4501)
            at java.awt.Container.dispatchEventImpl(Container.java:2081)
            at java.awt.Component.dispatchEvent(Component.java:4331)
            at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1848)
            at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:704)
            at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:969)
            at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:841)
            at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:668)
            at java.awt.Component.dispatchEventImpl(Component.java:4373)
            at java.awt.Container.dispatchEventImpl(Container.java:2081)
            at java.awt.Window.dispatchEventImpl(Window.java:2458)
            at java.awt.Component.dispatchEvent(Component.java:4331)
            at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
            at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
            at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
            at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
            at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
            at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
            at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
    Cosa è successo al metodo? Come ci si muove in queste circostanze? grazie in anticipo a tutti coloro che mi daranno il proprio contributo.
    Ciao
    Davide

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Più che un errore nel metodo credo ci sia qualche magagna a livello di server.

    Da quello che si legge il server ha chiuso la connessione... le principali cause sono le seguenti:

    1) Hai raggiunto il limite di connessioni accettate dal server MySQL (spesso perchè la connessione la si apre e non la si chiude mai... se hai a disposizione i GuiTools controlla le connessioni attive sul server). Generalmente una installazione standard di MySQL permette al massimo 30 connessioni attive... o 100 non ricordo. Questa è la causa più frequente, specialmente quando si fanno tante prove: si apre una connessione e ci si dimentica di chiuderla.

    2) La connessione è andata in timeout: hai aperto una connessione e non l'hai usata per parecchio tempo

    3) Qualcosa è cambiato sulle impostazioni del server MySQL: permessi all'utente che usi per le prove, altre cose del genere.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    6
    1) Hai raggiunto il limite di connessioni accettate dal server MySQL (spesso perchè la connessione la si apre e non la si chiude mai... se hai a disposizione i GuiTools controlla le connessioni attive sul server). Generalmente una installazione standard di MySQL permette al massimo 30 connessioni attive... o 100 non ricordo. Questa è la causa più frequente, specialmente quando si fanno tante prove: si apre una connessione e ci si dimentica di chiuderla.
    Tu parli delle connessioni concorrenti, ma qui il problema lo si ha all'avvio del S.O. quando ancora non vi è alcuna connessione attiva, e comunque alzando il limite non si risolve.

    2) La connessione è andata in timeout: hai aperto una connessione e non l'hai usata per parecchio tempo
    la connessione riportata nell'eccezione è relativa alla socket che JDBC fa verso il server dove si trova il Database. L'eccezione viene lanciata all'inizio dell'esecuzione del programma e dopo pochissimi secondi.

    3) Qualcosa è cambiato sulle impostazioni del server MySQL: permessi all'utente che usi per le prove, altre cose del genere.
    Ieri sera tutto funzionava normalmente. Come accendo il computer stamattina, senza aver cambiato nulla nel server, ma soltanto aggiungendo una interfaccia grafica, tutto smette di funzionare. Cmq ho riconfigurato MySql. L'ho disinstallato e reinstallato. Ho scaricato le nuove librerie per mysql-connector, ma continua a non funzionare...

    Non so più che pesci pigliare!!!

    PS: Un vecchio progetto funzionante al 100% che si collegava al database MySql mi da gli stessi problemi
    Davide

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    6
    Problema risolto!

    Windows Vista nella nottata ha installato un Update del Defender. Anche perché non avevo modificato assolutamente niente nelle impostazioni globali.

    Con il buon vecchio Ripristino della configurazione di sistema ho riportato il computer ad uno stato precedente e ora tutto funziona alla perfezione!

    Winzozz è sempre Winzozz!!!
    Davide

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.