Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Problema java-mysql

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2014
    Messaggi
    12

    Problema java-mysql

    Salve ragazzi, ho installato correttamente l'ultima versione di Mysql, ho creato un Database da linea di comando, sin qui tutto apposto... il problema sorge quando voglio far interagire il database con un applicativo Java.
    Quando avvio il mio applicativo e cerco di scorrere gli elementi nella tabella del Db, saltano fuori strane righe di errore su cmd:
    (spero riuscite a vedere )

    Richiedo aiuto imminente^^. Grazie in anticipo!

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Non puoi incollare qui l'errore, come fanno tutti? Che è questa mania degli screenshot illeggibili?
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2014
    Messaggi
    12
    java.sql.SQLException: Access denied for user 'root'@'localhost' (using password
    : NO)
    at com.mysql.jdbc.SQLError.createSQLException(SQLErro r.java:1073)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.ja va:4098)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.ja va:4030)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.ja va:951)
    at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggab leAuthentication(My
    sqlIO.java:1717)
    at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:12 76)
    at com.mysql.jdbc.ConnectionImpl.coreConnect(Connecti onImpl.java:2389)
    at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(Co nnectionImpl.java:2
    422)
    at com.mysql.jdbc.ConnectionImpl.createNewIO(Connecti onImpl.java:2207)
    at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImp l.java:797)
    at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connect ion.java:47)
    at sun.reflect.NativeConstructorAccessorImpl.newInsta nce0(Native Method)

    at sun.reflect.NativeConstructorAccessorImpl.newInsta nce(NativeConstruct
    orAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newI nstance(DelegatingC
    onstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Construc tor.java:526)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:41 1)
    at com.mysql.jdbc.ConnectionImpl.getInstance(Connecti onImpl.java:389)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonReg isteringDriver.java
    :305)
    at java.sql.DriverManager.getConnection(DriverManager .java:571)
    at java.sql.DriverManager.getConnection(DriverManager .java:215)
    at Scorri.<init>(Scorri.java:53)
    at Scorri.main(Scorri.java:82)


    ecco cosa appare su cmd prima di premere il bottone...

  4. #4
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Beh... l'errore mi pare chiaro, c'è un problema di autorizzazioni... Però se non fai vedere il codice che hai scritto per collegarti al db è difficile darti una risposta... Esiste l'utenza? E' abilitata? Ecc...
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2014
    Messaggi
    12
    Avevo immaginato anche io che potesse essere un errorore di quel tipo, cmq come puoi dedurre sono un novellino, cosa intendi per utenza?, intanto metto il codice



    codice:
    import java.awt.*;//grafica GUI
    import java.awt.event.*;// gestore eventi
    import java.sql.*;// importa sql tramite uso del driver
    //import java.sql.DriverManager;// gestore driver sql
    //import java.sql.SQLException;// utilizzo eccezzioni sql
    import java.net.*;
    
    /*creazione dell'interfaccia grafica per la visualizzazione
    delle informazioni contenute del dbms */
    class Scorri extends Frame
    {
       Label LN = new Label("Nome:");
       Label LC = new Label("Cognome:");
       Label TN = new Label("");//label che conterrà le informazioni del recordset
       Label TC = new Label("");//label che conterrà le informazioni del recordset
       Button BA = new Button("Avanti");//seek avanti
       Button BI = new Button("Indietro");//seek indietro
       GestPulsMuovi GM = new GestPulsMuovi();//classe che implementa la classe ascoltatore ActionListener
    
       ResultSet rs ;//recordset
    
    
       public Scorri() throws SQLException
       {
    
          setLayout(null);
          this.add(LN);
          this.add(LC);
          LN.setBounds(10,40,60,30);
          LC.setBounds(10,80,60,30);
          this.add(TN);
          this.add(TC);
          TN.setBounds(100,40,200,30);
          TC.setBounds(100,80,200,30);
          TN.setForeground(Color.red);
          TC.setForeground(Color.red);
    
    
          this.add(BA);
          BA.addActionListener(GM);
          BA.setBounds(10,120,80,30);
          this.add(BI);
          BI.addActionListener(GM);
          BI.setBounds(100,120,80,30);
    
       Connection con = null;// classe per la connessione database
    
            try
            {
    
                Class.forName("com.mysql.jdbc.Driver");// driver
                // carica il driver e si connette al database prova
                con = DriverManager.getConnection("jdbc:mysql://127.0.0.1/prova", "root", "");//local host , indirizzo macchina in cui siamo loggati
    
    
                Statement st = con.createStatement();// crea oggetto per eseguire istruzioni SQL
                // al recordset vengono assegnati tutti i valori dell'istruzione sql
                /*MANDARE IN ESECUZIONE TUTTI  I COMANDI SQL DML /QL
                */
                this.rs = st.executeQuery("SELECT * FROM clienti");
                //posiziona il recordset al primo elemento delle informazioni
                rs.first();
                TN.setText(rs.getString("nome"));
                TC.setText(rs.getString("cognome"));
    
            }
            catch (Exception e)
            {
                e.printStackTrace();
            }
    
    
          this.setTitle("Scorri");
          this.setLocation(200,100);
          this.setSize(400,300);
          this.setVisible(true);
       }
    
       public static void main(String[] s) throws SQLException
    
       {
           new Scorri();
       }
    
       class GestPulsMuovi implements ActionListener
       {
    import java.awt.*;//grafica GUI
    import java.awt.event.*;// gestore eventi
    import java.sql.*;// importa sql tramite uso del driver
    //import java.sql.DriverManager;// gestore driver sql
    //import java.sql.SQLException;// utilizzo eccezzioni sql
    import java.net.*;
    
    /*creazione dell'interfaccia grafica per la visualizzazione
    delle informazioni contenute del dbms */
    class Scorri extends Frame
    {
       Label LN = new Label("Nome:");
       Label LC = new Label("Cognome:");
       Label TN = new Label("");//label che conterrà le informazioni del recordset
       Label TC = new Label("");//label che conterrà le informazioni del recordset
       Button BA = new Button("Avanti");//seek avanti
       Button BI = new Button("Indietro");//seek indietro
       GestPulsMuovi GM = new GestPulsMuovi();//classe che implementa la classe ascoltatore ActionListener
    
       ResultSet rs ;//recordset
    
    
       public Scorri() throws SQLException
       {
    
          setLayout(null);
          this.add(LN);
          this.add(LC);
          LN.setBounds(10,40,60,30);
          LC.setBounds(10,80,60,30);
          this.add(TN);
          this.add(TC);
          TN.setBounds(100,40,200,30);
          TC.setBounds(100,80,200,30);
          TN.setForeground(Color.red);
          TC.setForeground(Color.red);
    
    
          this.add(BA);
          BA.addActionListener(GM);
          BA.setBounds(10,120,80,30);
          this.add(BI);
          BI.addActionListener(GM);
          BI.setBounds(100,120,80,30);
    
       Connection con = null;// classe per la connessione database
    
            try
            {
    
                Class.forName("com.mysql.jdbc.Driver");// driver
                // carica il driver e si connette al database prova
                con = DriverManager.getConnection("jdbc:mysql://127.0.0.1/prova", "root", "");//local host , indirizzo macchina in cui siamo loggati
    
    
                Statement st = con.createStatement();// crea oggetto per eseguire istruzioni SQL
                // al recordset vengono assegnati tutti i valori dell'istruzione sql
                /*MANDARE IN ESECUZIONE TUTTI  I COMANDI SQL DML /QL
                */
                this.rs = st.executeQuery("SELECT * FROM clienti");
                //posiziona il recordset al primo elemento delle informazioni
                rs.first();
                TN.setText(rs.getString("nome"));
                TC.setText(rs.getString("cognome"));
    
            }
            catch (Exception e)
            {
                e.printStackTrace();
            }
    
    
          this.setTitle("Scorri");
          this.setLocation(200,100);
          this.setSize(400,300);
          this.setVisible(true);
       }
    
       public static void main(String[] s) throws SQLException
    
       {
           new Scorri();
       }
    
       class GestPulsMuovi implements ActionListener
       {
           // classe che permette di scorrere le informazioni e presentarle nel form GUI
          public void actionPerformed(ActionEvent E)
          {
    
            try
            {
    
               if(E.getSource()==BA)//BA bottone per avanzare le informazioni
               {
                  if(!rs.isLast())
                     rs.next();//sposta al record successivo il recordset
               }
                  if(E.getSource()==BI)//BI bottone per indietreggiare di 1 le informazioni
               {
                  if(!rs.isFirst())
                     rs.previous();// precedente
               }
               TN.setText(rs.getString("nome"));
               TC.setText(rs.getString("cognome"));
    
            }
            catch (Exception e)
            {
               e.printStackTrace();
            }
    
          }
       }
    
    
    }

  6. #6
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Sulla tua macchina hai installato mysql?
    Su mysql c'è l'utente "root" senza password?
    Sempre su mysql, esiste un database di nome "prova"?

    Poi vedo che stai mescolando codice dell'interfacia grafica e codice per al gestione del db. Questo è male e poco OOP: dovresti invece crearti una classe (esempio: DatabaseManager) a cui deleghi l'interazione col db. Ma un problema alla volta.
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2014
    Messaggi
    12
    Quote Originariamente inviata da Alex'87 Visualizza il messaggio
    Sulla tua macchina hai installato mysql?
    Su mysql c'è l'utente "root" senza password?
    Sempre su mysql, esiste un database di nome "prova"?

    Poi vedo che stai mescolando codice dell'interfacia grafica e codice per al gestione del db. Questo è male e poco OOP: dovresti invece crearti una classe (esempio: DatabaseManager) a cui deleghi l'interazione col db. Ma un problema alla volta.
    Si, per accedere a mysql mi chiede il nome utente e pw. Il Database prova è presente, o anche provato da cmd a usare qualche ordinamento, e funziona tutto...
    IL programma è con la GUI perchè a scuola abbiamo appena iniziato a fare i Db dopo la GUi, e i prof volevano che mettissimo insieme le conoscenze, questo programma lo ha scritto il prof^^.
    Concludo dicendo che nei pc di scuola funzionava...
    Ultima modifica di darda96; 20-05-2014 a 12:17

  8. #8
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Dici che mysql ti chiede la password ma tu, al momento della connessione, non gliela stai passando. Mi riferisco a quell'ultima stringa vuota:
    connection = DriverManager.getConnection("jdbc:mysql://127.0.0.1/prova", "root", "")

    Prova a mettere la password...
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2014
    Messaggi
    12
    Quote Originariamente inviata da Alex'87 Visualizza il messaggio
    Dici che mysql ti chiede la password ma tu, al momento della connessione, non gliela stai passando. Mi riferisco a quell'ultima stringa vuota:
    connection = DriverManager.getConnection("jdbc:mysql://127.0.0.1/prova", "root", "")

    Prova a mettere la password...
    Grazie 100000000,, tutto a posto ora^^

    PS: sono un cretino

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.