Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Problema con driver mysql

    salve a tutti, sto realizzando un plugin in eclipse che deve inserire determinati dati in un database che ho su un altro computer.
    Quando tento di eseguire la connessione col database, il programma mi solleva un'eccezzione.
    Il nome del driver lo salvo nella variabile
    NOME_DRIVER="com.mysql.jdbc.Driver"
    e quando lo carico con
    Class.forName(NOME_DRIVER);
    mi solleva l'eccezzione.

    Quale potrebbe essere il problema?
    Grazie mille

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Moderazione

    Non hai specificato come è impostato il tuo progetto (usa dei package? il CLASSPATH è corretto?)
    Non hai postato nemmeno una riga di codice che usi (se non quella del tutto insignificante del Class.forName() )
    Di più: non hai nemmeno postato l'eccezione che ti viene sollevata... dobbiamo indovinarla noi fra le oltre 1000 eccezioni possibili?



    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
    Si scusami, ma cmq stai un po' calmo eh che non occorre fare tutta sta polemica...

    public void ConnessioneDb() throws applException{
    try{
    Class.forName(NOME_DRIVER); //carica il driver JDBC
    }
    catch (ClassNotFoundException e){
    throw new applException ("ERRORE nel caricamento del driver JDBC");
    }
    try{
    connessione=DriverManager.getConnection(STRINGA_CO NNESSIONE); //connessione al database
    }
    catch (SQLException e){
    throw new applException ("ERRORE nella connessione al database");
    }
    }

  4. #4
    Gentilmente se qualcuno mi saprebbe dare qualche indicazione....è molto importante
    grazie

  5. #5
    Se utilizzi la libreria jdbc4 non hai bisogno di scrivere
    Class.forName(NOME_DRIVER);
    ti basta caricarli nel progetto di Eclipse o netBeans...

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    502
    Originariamente inviato da stefano085
    Si scusami, ma cmq stai un po' calmo eh che non occorre fare tutta sta polemica...

    public void ConnessioneDb() throws applException{
    try{
    Class.forName(NOME_DRIVER); //carica il driver JDBC
    }
    catch (ClassNotFoundException e){
    throw new applException ("ERRORE nel caricamento del driver JDBC");
    }
    try{
    connessione=DriverManager.getConnection(STRINGA_CO NNESSIONE); //connessione al database
    }
    catch (SQLException e){
    throw new applException ("ERRORE nella connessione al database");
    }
    }
    Lui è calmissimo in quanto moderatore del forum, e quando fa notare delle cose, lo fa solo perché quello che scriviamo non serve a nulla.

    Il codice mettilo negli appositi tag, così si legge, grazie.

  7. #7
    come si fà mettere tra tag?

  8. #8
    Codice PHP:
    public void ConnessioneDb() throws applException{
            try{
                Class.
    forName(NOME_DRIVER); //carica il driver JDBC
            
    }
            catch (
    ClassNotFoundException e){
                throw new 
    applException ("ERRORE nel caricamento del driver JDBC");
            }
            try{
                
    connessione=DriverManager.getConnection(STRINGA_CONNESSIONE); //connessione al database
            
    }
            catch (
    SQLException e){
                throw new 
    applException ("ERRORE nella connessione al database");
            }
        } 

    Ecco forse ci sono riuscito...và meglio così??

  9. #9
    dato che ho capito come postare il codice, vi inserisco tutto il codice della mia classe

    codice:
    package di.uniba.plugin.jmeta.database;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    import di.uniba.plugin.jmeta.eccezioni.applException;
    
    public class DbGateway {
    	
    	private static final String NOME_DRIVER="com.mysql.jdbc.Driver"; //nome del driver com.mysql.jdbc.Driver
    	public String NOME_SERVER; //nome del server
    	public String PORTA; //numero della porta del server
    	public String NOME_DATABASE; //nome del database
    	public String USERNAME; //username
    	public String PASSWORD; //password
    	
    	private String URL; //URL della stringa di connessione
    	private String STRINGA_CONNESSIONE; //stringa di connessione
    	
    	private Connection connessione=null;
    	private Statement statement=null;
    	private PreparedStatement pstmt=null;
    	
    	//costruttore
    	public DbGateway(){
    		this.NOME_SERVER="192.168.0.139";
    		this.PORTA=":3306";
    		this.NOME_DATABASE="db_eclipse";
    		this.USERNAME="root";
    		this.PASSWORD="f3btspkd";
    		
    		this.URL="jdbc:mysql://" + NOME_SERVER + PORTA + "/" + NOME_DATABASE;
    		this.STRINGA_CONNESSIONE = URL + "?user=" + USERNAME + "&password=" + PASSWORD;
    	}
    	
    	//connessione del database
    	public void ConnessioneDb() throws applException{
    		try{
    			Class.forName(NOME_DRIVER); //carica il driver JDBC
    		}
    		catch (ClassNotFoundException e){
    			e.printStackTrace();
    			throw new applException ("ERRORE nel caricamento del driver JDBC");
    		}
    		try{
    			connessione=DriverManager.getConnection(STRINGA_CONNESSIONE); //connessione al database
    		}
    		catch (SQLException e){
    			throw new applException ("ERRORE nella connessione al database");
    		}
    	}
    	
    	public void ErroreRollback() throws applException{
    		try{
    			connessione.rollback();
    		}
    		catch (SQLException e){
    			throw new applException ("ERRORE nell'operazione di rollback");
    		}
    	}
    	
    	public void DisabilitaAutoCommit() throws applException{
    		try{
    			connessione.setAutoCommit(false);
    		}
    		catch (SQLException e){
    			throw new applException ("ERRORE durante la disabilitazione dell'autocommit");
    		}
    	}
    	
    	public void AbilitaAutoCommit() throws applException{
    		try{
    			connessione.setAutoCommit(true);
    		}
    		catch (SQLException e){
    			throw new applException ("ERRORE durante l'abilitazione dell'autocommit");
    		}
    	}
    	
    	//disconnessione del database
    	public void DisconnessioneDb() throws applException{
    		try{
    			connessione.close();
    			connessione=null;
    		}
    		catch (SQLException e){
    			throw new applException ("ERRORE nella disconnessione al database");
    		}
    	}
    	
    	public void Commit() throws applException{
    		try{
    			connessione.commit();
    		}
    		catch (SQLException e){
    			throw new applException ("ERRORE nell'operazione di commit");
    		}
    	}
    	
    	//impostazione della query
    	public PreparedStatement PreparaStatement(String query) throws applException{
    		try{
    			if ((query!=null) && (query!="")){
    				//punto in cui il programma si blocca perchè connessione=null (per risolvere si può aggiungere la connessione)
    				//connessione=DriverManager.getConnection(STRINGA_CONNESSIONE);
    				ConnessioneDb();
    				pstmt=connessione.prepareStatement(query); //imposta la query in pstmt di tipo PreparedStatement
    			}
    		}
    		catch (SQLException e){
    			throw new applException ("ERRORE nella fase di preparazione della query");
    		}
    		return pstmt;
    	}
    	
    	//esecuzione della query
    	public ResultSet EsecuzioneQuery (PreparedStatement statement) throws applException{
    		ResultSet risultato=null;
    		
    		try{
    			if (statement!=null)
    				risultato=statement.executeQuery();
    		}
    		catch (SQLException e){
    			throw new applException ("ERRORE durante l'eliminazione delle tuple dalla tavola");
    		}
    		return risultato;
    	}
    	
    	public boolean EsecuzioneUpdateQuery (PreparedStatement statement) throws applException{
    		boolean risposta=false;
    		
    		if (statement!=null){
    			try{
    				if (statement.executeUpdate()>0)
    					risposta=true;
    				else
    					risposta=false;
    			}
    			catch (SQLException e){
    				int codice_errore=1062;
    				if (e.getErrorCode()==codice_errore){
    					risposta=false;
    				}
    				else{
    					throw new applException ("ERRORE nell'esecuzione della query di update"); 
    				}
    			}
    		}
    		return risposta;
    	}
    
    }

  10. #10
    NEssuno può aiutarmi?

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.