Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it L'avatar di gax80
    Registrato dal
    May 2006
    Messaggi
    631

    No suitable driver found

    Ciao ragazzi
    mi è uscito questo problema quando faccio una connessione con mysql

    codice:
    java.sql.SQL.Exception: No suitable driver found for jdbc:mysql://localhost:3306/contatti? eccc
    in pratica ho messo in questo file ini il percorso del database da riempire, ma nn capisco cosa vuole
    quando il diavolo ti accarezza è perchè vuole la tua anima

  2. #2
    Utente di HTML.it L'avatar di Ed_Bunker
    Registrato dal
    Jul 2003
    Messaggi
    1,119
    Do You speak English ?

    Nessun driver disponibile per il db:...

    Hai messo il driver jdbc per mysql da "qualche" parte linkandolo correttamente ?

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

    Re: No suitable driver found

    Originariamente inviato da gax80
    mi è uscito questo problema quando faccio una connessione con mysql
    Hai caricato il driver? E il pacchetto jar del driver è in classpath?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    Utente di HTML.it L'avatar di gax80
    Registrato dal
    May 2006
    Messaggi
    631
    certo
    ecco:
    codice:
    public class Connection_db {
    	
    	public static Connection dbConnRet = null;  
    	public static void inserisciValori(Connection dbConnection,String nome,String cognome)
    	throws SQLException, ClassNotFoundException 
    	{
    		String PreparedStatement=null;
    		Connection conn = null;   
    		String statement = "INSERT INTO "+nome+" (nome, cognome)"+
    		"VALUES (?, ?)";         
    		String connessione = doit();
    		conn = (Connection) DriverManager.getConnection(connessione);
    		Class.forName("com.mysql.jdbc.Driver");        
    		PreparedStatement stmt = conn.prepareStatement(statement);
    		stmt.setString(1, nome);
    		stmt.setString(2, cognome);
    		
    		stmt.executeUpdate();
    		stmt.close();        
    	}
    quando il diavolo ti accarezza è perchè vuole la tua anima

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da gax80
    conn = (Connection) DriverManager.getConnection(connessione);
    Class.forName("com.mysql.jdbc.Driver");
    Magari è meglio se carichi il driver prima di richiedere una connessione. Se ci pensi il ragionamento non fa una piega ....
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Utente di HTML.it L'avatar di gax80
    Registrato dal
    May 2006
    Messaggi
    631
    grazie
    quando il diavolo ti accarezza è perchè vuole la tua anima

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    99
    Anche io ho lo stesso messaggio di errore " No suitable driver", uso eclipse, e uso easyphp con phpmyadmin per gestire il db, il programmino che ho creato è il primo in assoluto che ho scritto per quanto riguarda i db con java:


    package Database;

    import java.sql.*;
    import java.lang.*;

    public class Db {

    protected String DRIVER = "com.mysql.jdbc.Driver";
    protected String url = "jdbc:mysql:http://localhost/miodb";
    protected String user = "root";
    protected String psw = "ciro310304";
    private String errore ;

    public Db(){
    }

    public void connection(){

    Connection con = null;

    try{
    Class.forName(DRIVER);
    con = DriverManager.getConnection(url,user,psw);
    System.out.println("Connesso al database");
    }catch(Exception e){
    errore = e.getMessage();
    System.out.println("ERRORE : " + errore);
    System.out.println("Non sono connesso al database");
    }
    }
    }

    package Database;

    public class Main {

    public static void main(String[] args){
    Db db = new Db();
    db.connection();
    }
    }
    Come vedete è un programmino semplice per testare il funzionamento della connessione, il db l'ho creato e popolato con phpmyadmin, il file .jar che ho scaricato è mysql-connector-java-5.0.6-bin.jar e l'ho aggiunto alla libreria del progetto in eclipse, inoltre il classpath l'ho editato da windows e contiene il seguente contenuto:


    .;C:\Documents and Settings\ciro\workspace\Lp2Uni\ProveEsame\Algoritm i;C:\Programmi\Java\jre1.6.0_01\lib\ext\QTJava.zip ;C:\Programmi\Java\jre1.5.0_06\lib\mysql-connector-java-5.0.6-bin.jar;
    Ma dal momento che le librerie le ho linkate correttamente dentro eclipse non dovrebbe nemmeno servirmi editare il classpath giusto??però per sicurezza l'ho fatto ma il risultato non cambia, cosa può essere??

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    99
    Cavolo mi sono accorto subito dopo 1 minuto del mio errore facendo riferimento al post http://forum.html.it/forum/showthrea...highlight=jdbc e mi sono accorto di aver sbagliato l'url......

    String url = "jdbc:mysql:http://localhost/miodb";
    Gli ho messo http di troppo...

  9. #9
    Ciao a tutti!!Io ho lo stesso problema, cioè a tempo di run time il messaggio che esce fuori è questo:
    codice:
    Exception in thread "main" PersistenceException: No suitable driver found for dbURI,userName,password 	at DataSource.getConnection(DataSource.java:25) 	at Main.main(Main.java:22)
    Vi faccio vedere le mie semplici classi che ho creato:
    Cliente:
    codice:
      public class Cliente  { 	private int id_cl; 	private int codice_cliente; 	private String nome; 	private String cognome; 	private String indirizzo; 	 	 	 	  	public int getId_cl() { 		return id_cl; 	}  	public void setId_cl(int c)  { 		this.id_cl=c; 	}  	public int getCodice_cliente() { 		return codice_cliente; 	}  	public void setCodice_cliente(int codiceCliente) { 		codice_cliente = codiceCliente; 	}  	public String getNome() { 		return nome; 	}  	public void setNome(String nome) { 		this.nome = nome; 	}  	public String getCognome() { 		return cognome; 	}  	public void setCognome(String cognome) { 		this.cognome = cognome; 	}  	public String getIndirizzo() { 		return indirizzo; 	}  	public void setIndirizzo(String indirizzo) { 		this.indirizzo = indirizzo; 	}   	 }
    PersistenceException
    codice:
      public class PersistenceException extends Exception {  	/** 	 *  	 */ 	private static final long serialVersionUID = -3835068319580102263L;  	public PersistenceException(String msg){ 		super(msg); 	}  	 }
    Classe DataSource
    codice:
    import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException;   public class DataSource  { 	 	public String dbURI = "jdbc:postgresql://localhost/Prova:5432"; 	public String userName = "postgres"; 	public String password = "kaos83"; 	 	public Connection getConnection() throws PersistenceException 	{ 		Connection connection; 		try 		{ 			 			Class.forName("org.postgresql.Driver"); 			connection = DriverManager.getConnection("dbURI,userName,password"); 			 		} 		catch (ClassNotFoundException e) { 			throw new PersistenceException(e.getMessage()); 		} catch(SQLException e) { 			throw new PersistenceException(e.getMessage()); 		} 		return connection; 	} }
    un piccolo main per verificare che il tutto funzioni:
    codice:
    import java.sql.*;   public class Main  { public static void main (String [] args) throws PersistenceException  { 	Connection connection = null; 	PreparedStatement statement = null; 	DataSource ds = new DataSource(); 	Cliente c = new Cliente(); 	c.setCodice_cliente(1); 	c.setCognome("rossi"); 	c.setId_cl(2); 	c.setIndirizzo("ciao"); 	c.setNome("marko"); 	 	String query ="INSERT into clienti(codice_cliente,nome,cognome,indirizzo,id_cl) VALUES (?,?,?,?,?)"; 	try  	{ 		connection=ds.getConnection(); 		statement = connection.prepareStatement(query); 		statement.setInt(1, c.getCodice_cliente()); 		statement.setString(2, c.getNome()); 		statement.setString(3, c.getCognome()); 		statement.setString(4,c.getIndirizzo()); 		statement.setInt(5,c.getId_cl()); 		statement.executeUpdate(); 	} 	catch (SQLException e) 	{ 		throw new PersistenceException(e.getMessage()); 	} 	finally 	{ 		try 		{ 			if(statement!=null) 				statement.close(); 			if(connection!=null) 				connection.close(); 		} 		catch (SQLException e) 		{ 			throw new PersistenceException (e.getMessage()); 		} 	 	} } }
    Ho controllato che username,password e uri siano corretti ed ho anche aperto il dataSourceExploer in Eclipse per vedere se il ping con il db andava a buon fine ed è tutto ok.
    Ho scaricato inoltre il Driver di postgres jdbc4 dato che la mia jre è la 1.6.Il driver stà nel mio classpath c:\Utenti\DocumentAndSetting\Marco.Ovviamente ho anche creato la mia tabella clienti in postgres.Cosa posso fare?Grazie
    Antetemp0

  10. #10
    Originariamente inviato da Antetemp0
    Ciao a tutti!!Io ho lo stesso problema, cioè a tempo di run time il messaggio che esce fuori è questo:
    codice:
    Exception in thread "main" PersistenceException: No suitable driver found for dbURI,userName,password 	at DataSource.getConnection(DataSource.java:25) 	at Main.main(Main.java:22)
    Vi faccio vedere le mie semplici classi che ho creato:
    Cliente:
    codice:
      public class Cliente  { 	private int id_cl; 	private int codice_cliente; 	private String nome; 	private String cognome; 	private String indirizzo; 	 	 	 	  	public int getId_cl() { 		return id_cl; 	}  	public void setId_cl(int c)  { 		this.id_cl=c; 	}  	public int getCodice_cliente() { 		return codice_cliente; 	}  	public void setCodice_cliente(int codiceCliente) { 		codice_cliente = codiceCliente; 	}  	public String getNome() { 		return nome; 	}  	public void setNome(String nome) { 		this.nome = nome; 	}  	public String getCognome() { 		return cognome; 	}  	public void setCognome(String cognome) { 		this.cognome = cognome; 	}  	public String getIndirizzo() { 		return indirizzo; 	}  	public void setIndirizzo(String indirizzo) { 		this.indirizzo = indirizzo; 	}   	 }
    PersistenceException
    codice:
      public class PersistenceException extends Exception {  	/** 	 *  	 */ 	private static final long serialVersionUID = -3835068319580102263L;  	public PersistenceException(String msg){ 		super(msg); 	}  	 }
    Classe DataSource
    codice:
    import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException;   public class DataSource  { 	 	public String dbURI = "jdbc:postgresql://localhost/Prova:5432"; 	public String userName = "postgres"; 	public String password = "kaos83"; 	 	public Connection getConnection() throws PersistenceException 	{ 		Connection connection; 		try 		{ 			 			Class.forName("org.postgresql.Driver"); 			connection = DriverManager.getConnection("dbURI,userName,password"); 			 		} 		catch (ClassNotFoundException e) { 			throw new PersistenceException(e.getMessage()); 		} catch(SQLException e) { 			throw new PersistenceException(e.getMessage()); 		} 		return connection; 	} }
    un piccolo main per verificare che il tutto funzioni:
    codice:
    import java.sql.*;   public class Main  { public static void main (String [] args) throws PersistenceException  { 	Connection connection = null; 	PreparedStatement statement = null; 	DataSource ds = new DataSource(); 	Cliente c = new Cliente(); 	c.setCodice_cliente(1); 	c.setCognome("rossi"); 	c.setId_cl(2); 	c.setIndirizzo("ciao"); 	c.setNome("marko"); 	 	String query ="INSERT into clienti(codice_cliente,nome,cognome,indirizzo,id_cl) VALUES (?,?,?,?,?)"; 	try  	{ 		connection=ds.getConnection(); 		statement = connection.prepareStatement(query); 		statement.setInt(1, c.getCodice_cliente()); 		statement.setString(2, c.getNome()); 		statement.setString(3, c.getCognome()); 		statement.setString(4,c.getIndirizzo()); 		statement.setInt(5,c.getId_cl()); 		statement.executeUpdate(); 	} 	catch (SQLException e) 	{ 		throw new PersistenceException(e.getMessage()); 	} 	finally 	{ 		try 		{ 			if(statement!=null) 				statement.close(); 			if(connection!=null) 				connection.close(); 		} 		catch (SQLException e) 		{ 			throw new PersistenceException (e.getMessage()); 		} 	 	} } }
    Ho controllato che username,password e uri siano corretti ed ho anche aperto il dataSourceExploer in Eclipse per vedere se il ping con il db andava a buon fine ed è tutto ok.
    Ho scaricato inoltre il Driver di postgres jdbc4 dato che la mia jre è la 1.6.Il driver stà nel mio classpath c:\Utenti\DocumentAndSetting\Marco.Ovviamente ho anche creato la mia tabella clienti in postgres.Cosa posso fare?Grazie
    Antetemp0

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.