Duvidas de como colocar o driver JDBC no eclipse

15 respostas
P

O galera eu to precisando de uma ajuda , eu nao sei como colocar o driver JDBC no eclipse …
Alguem ai podia me ajudar!!!

Desde ja agradeço galera…

15 Respostas

marcosbrandao

voce quer colocar no eclipse? ou em um projeto que voce esta utilizando eclipse?

Se voce esta fazendo um projeto no eclipse e quer utilizar um driver jdbc, eh so vc incluir no path da aplicação.
Para incluir eh so ir nas propriedades do porjeto, java build path e incluir o .jar do drive.

P

Valeu msm

Eu coloquei o driver mas nao quer conectar sera o que pode ser isto .........
import java.sql.*;
public class FactorimgConexao
{
 public static Connection getConnection()
 {
	 try
	 {
		 Class.forName("com.mysql.jdbc.Driver");
		 Connection c;
		 c=DriverManager.getConnection("jdbc:mysql://localhost/teste","","");
		 return c;
	 }
	 catch(Exception e )
	 {         System.out.print("Erro na conexao!!!!KKKKKKK");
		return null;
		
	 }
 }
}
Ta sem usuario e sem senha , nao sei o que ta acontecendo.
robert.gamma
PauloCCNA:
Valeu msm Eu coloquei o driver mas nao quer conectar sera o que pode ser isto .........
import java.sql.*;
public class FactorimgConexao
{
 public static Connection getConnection()
 {
	 try
	 {
		 Class.forName("com.mysql.jdbc.Driver");
		 Connection c;
		 c=DriverManager.getConnection("jdbc:mysql://localhost/teste","","");
		 return c;
	 }
	 catch(Exception e )
	 {         System.out.print("Erro na conexao!!!!KKKKKKK");
		return null;
		
	 }
 }
}
Ta sem usuario e sem senha , nao sei o que ta acontecendo.

Cara, posta o erro. Mais você dever fornecer o user pra se conectar ao banco.

flw!

H

Você precisa ter um usuário para conexão. No System.out.println mostra o objecto “e”, que
vai te dar a mensagem de erro correta.

sidney.tavares

Além do que já foi dito pelos colegas está faltando no seu código a porta para conexão do banco, que se você não alterou deve ser 3306, como segue na linha abaixo, se você não especificou usuário e senha na instalação do MySql o usuário é root, assim como a senha, espero ter ajudado.

c=DriverManager.getConnection("jdbc:mysql:3306//localhost/teste","usuario","senha");
diegohsi
Olá pessoal, não sei se pode reaproveitar o post mas estou com erro na linha indicada, não sei oq esta acontecendo, ja tentei de tudo...
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class ConnectionFactory {

	public Connection getConnection() {
		System.out.println("Conectando ao banco...");
		try {
			return DriverManager.getConnection("jdbc:mysql:3306//localhost/fj21", "root", "root");
		} catch (SQLException e) {
			System.out.println("Erro ao Conectar");
			throw new RuntimeException(); // está lançando esta exceção, ja adicionei o driver no projeto, estou seguindo a apostila da caelum.
		}
	}
}
Erro de runtime: 
Jan 29, 2012 5:54:58 PM org.apache.catalina.core.StandardWrapperValve invoke
Grave: Servlet.service() for servlet AdicionaContato threw exception
java.lang.RuntimeException
	at br.com.caelum.jdbc.ConnectionFactory.getConnection(ConnectionFactory.java:15)
	at br.com.caelum.jdbc.DAO.ContatoDAO.<init>(ContatoDAO.java:18)
	at br.com.caelum.agenda.servlet.AdicionaContatoServlet.service(AdicionaContatoServlet.java:47)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
	at java.lang.Thread.run(Unknown Source)

Conectando ao banco...
Erro ao Conectar
ViniGodoy
Tente assim:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class ConnectionFactory {

	public Connection getConnection() {
		System.out.println("Conectando ao banco...");
		try {
			return DriverManager.getConnection("jdbc:mysql:3306//localhost/fj21", "root", "root");
		} catch (SQLException e) {
			System.out.println("Erro ao Conectar");
			throw new RuntimeException(); // está lançando esta exceção, ja adicionei o driver no projeto, estou seguindo a apostila da caelum.
		}
	}
}


Por isso:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class ConnectionFactory {

	public Connection getConnection() {
		System.out.println("Conectando ao banco...");
		try {
			return DriverManager.getConnection("jdbc:mysql:3306//localhost/fj21", "root", "root");
		} catch (SQLException e) {
			System.out.println("Erro ao Conectar");
			throw new RuntimeException(e);
		}
	}
}

E então poste a mensagem de erro, incluindo a parte do "Caused By".

Para todos que um dia postaram dúvidas nesse tópico, vale a pena ler:
http://blog.caelum.com.br/lidando-com-exceptions/
http://sergiotaborda.wordpress.com/desenvolvimento-de-software/java/excecoes-boas-praticas-mas-praticas/

diegohsi

Desculpe viniGodoy, mas tudo que apareceu no console eu colei aqui quando ocorreu o erro,
e tambem apareceu o erro no browser.

OBS: Tenho um projeto SE como mostrado na apostila e faz a inclusão normalmente no banco, porém quando tento fazer usando o projeto fj21-agenda (dinamic web project) ocorre esse erro na minha Calsse ConnectionFactory

HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

java.lang.RuntimeException
	br.com.caelum.jdbc.ConnectionFactory.getConnection(ConnectionFactory.java:15)
	br.com.caelum.jdbc.DAO.ContatoDAO.<init>(ContatoDAO.java:18)
	br.com.caelum.agenda.servlet.AdicionaContatoServlet.service(AdicionaContatoServlet.java:47)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.35 logs.
Apache Tomcat/6.0.35

e não sei se ajuda, ao startar o tomcat aparece uma linha de advertencia sobre o meu projeto...

Jan 29, 2012 6:11:27 PM org.apache.catalina.core.AprLifecycleListener init
Informações: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jre7\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Java\jdk1.7.0_02\bin;.
Jan 29, 2012 6:11:27 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
Advertência: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:fj21-agenda' did not find a matching property.
Jan 29, 2012 6:11:28 PM org.apache.coyote.http11.Http11Protocol init
Informações: Initializing Coyote HTTP/1.1 on http-8080
Jan 29, 2012 6:11:28 PM org.apache.catalina.startup.Catalina load
Informações: Initialization processed in 1194 ms
Jan 29, 2012 6:11:28 PM org.apache.catalina.core.StandardService start
Informações: Starting service Catalina
Jan 29, 2012 6:11:28 PM org.apache.catalina.core.StandardEngine start
Informações: Starting Servlet Engine: Apache Tomcat/6.0.35
Jan 29, 2012 6:11:28 PM org.apache.catalina.startup.HostConfig deployDescriptor
Informações: Deploying configuration descriptor host-manager.xml
Jan 29, 2012 6:11:28 PM org.apache.catalina.startup.HostConfig deployDescriptor
Informações: Deploying configuration descriptor manager.xml
Jan 29, 2012 6:11:28 PM org.apache.catalina.startup.HostConfig deployDirectory
Informações: Deploying web application directory Beer-v1 nao precisa deste
Jan 29, 2012 6:11:28 PM org.apache.catalina.startup.HostConfig deployDirectory
Informações: Deploying web application directory docs
Jan 29, 2012 6:11:29 PM org.apache.catalina.startup.HostConfig deployDirectory
Informações: Deploying web application directory examples
Jan 29, 2012 6:11:29 PM org.apache.catalina.core.ApplicationContext log
Informações: ContextListener: contextInitialized()
Jan 29, 2012 6:11:29 PM org.apache.catalina.core.ApplicationContext log
Informações: SessionListener: contextInitialized()
Jan 29, 2012 6:11:29 PM org.apache.catalina.startup.HostConfig deployDirectory
Informações: Deploying web application directory ROOT
Jan 29, 2012 6:11:29 PM org.apache.coyote.http11.Http11Protocol start
Informações: Starting Coyote HTTP/1.1 on http-8080
Jan 29, 2012 6:11:29 PM org.apache.jk.common.ChannelSocket init
Informações: JK: ajp13 listening on /0.0.0.0:8009
Jan 29, 2012 6:11:29 PM org.apache.jk.server.JkMain start
Informações: Jk running ID=0 time=0/30  config=null
Jan 29, 2012 6:11:29 PM org.apache.catalina.startup.Catalina start
Informações: Server startup in 1450 ms
ViniGodoy

Mas você alterou o método como eu pedi? Note que dentro da RuntimeException eu coloquei o “e” da exception original.

Caso contrário, sua RuntimeException não conterá a mensagem de que realmente está causando seu problema.

diegohsi

ViniGodoy:
Mas você alterou o método como eu pedi? Note que dentro da RuntimeException eu coloquei o “e” da exception original.

Caso contrário, sua RuntimeException não conterá a mensagem de que realmente está causando seu problema.

Obrigado pela dica vinigodoy, fiz oque vc pediu e ai esta o caused by:

Caused by: java.sql.SQLException: No suitable driver found for jdbc:mysql//localhost/fj21 at java.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at br.com.caelum.jdbc.ConnectionFactory.getConnection(ConnectionFactory.java:12) ... 15 more

ViniGodoy

Já baixou o driver do MySql e então adicionou ele nas dependências do seu projeto?

Ele falou que não achou o mysql.

diegohsi

ViniGodoy:
Já baixou o driver do MySql e então adicionou ele nas dependências do seu projeto?

Ele falou que não achou o mysql.

Então Vini, o problema é muito estranho pois fiz tudo que foi pedido, inclusive ja dei uma olhada nesse post

http://www.guj.com.br/java/257857-javasqlsqlexception-no-suitable-driver-found-for-jdbcmysqllocalhostfj21resolvido

e segui outro como este

http://www.devmedia.com.br/forum/java/395387-Nao-consigo-gravar-no-banco-usando-JDBC-em-projeto-WEB.html

diegohsi

Então viniGodoy e pessoal,
seguindo as dicas dos links que citei ai em cima informando a solução para o problema, ocorreu tudo certo, contudo… como informado na apostila da caelum, não era preciso registrar o driver nas versões do java 6 ou superior, e com essas linhas abaixo o contato foi registrato corretamente no banco

Class.forName("com.mysql.jdbc.Driver"); DriverManager.registerDriver(new com.mysql.jdbc.Driver());
mas sem estas linhas, ocorre o erro que citei logo acima. Contudo mesmo com essa “solução” eu gostaria de saber o porque disso tudo, já que não era necessário essas linhas?

Não sei se ajuda, mais ai estão o que estou utilizando.

[list]windows 7 64bits utimate [/list]
[list]jre 7 64bits[/list]
[list]eclipse helios EE 64bits[/list]
[list]tomcat 6.0.35 64bits [instalação: windows installer][/list]
[list]mysql connector: 5.1.18[/list]

OBS: Ja tinha colocado o driver no class path do projeto, na lib da aplicação, dentro da lib do tomcat. Já tinha recriado um novo projeto e importado as classes, olhei linha por linha (identico da apostila).

diegohsi
Então viniGodoy e pessoal, seguindo as dicas dos links que citei ai em cima informando a solução para o problema, ocorreu tudo certo, contudo... como informado na apostila da caelum, não era preciso registrar o driver nas versões do java 6 ou superior, e com essas linhas abaixo o contato foi registrato corretamente no banco
Class.forName("com.mysql.jdbc.Driver");
			 DriverManager.registerDriver(new com.mysql.jdbc.Driver());
mas sem estas linhas, ocorre o erro que citei logo acima. Contudo mesmo com essa "solução" eu gostaria de saber o porque disso tudo, já que não era necessário essas linhas? então minha classe nova ficou assim
package br.com.caelum.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class ConnectionFactory {
	
	public Connection getConnection() {
		
		System.out.println("Conectando ao banco");
		
		try { 
			 Class.forName("com.mysql.jdbc.Driver");
			 DriverManager.registerDriver(new com.mysql.jdbc.Driver());	//Essa linha foi a diferença
			return DriverManager.getConnection("jdbc:mysql://localhost/fj21", "root", "root");
			
		} catch (SQLException e) {
			e.printStackTrace();
			throw new RuntimeException(e);
			
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
			throw new RuntimeException(e);
		}
	}
}

Não sei se ajuda, mais ai estão o que estou utilizando.

[list]windows 7 64bits utimate [/list]
[list]jre 7 64bits[/list]
[list]eclipse helios EE 64bits[/list]
[list]tomcat 6.0.35 64bits [instalação: windows installer][/list]
[list]mysql connector: 5.1.18[/list]

OBS: Ja tinha colocado o driver no class path do projeto, na lib da aplicação, dentro da lib do tomcat. Já tinha recriado um novo projeto e importado as classes, olhei linha por linha (identico da apostila).

F

Bom Galera…

Sou Novato por aqui… e tava com o mesmo problema do nosso amigo diegohsi …com as mesmas configurações de máquina exceto pelo
fato de eu estar usando Eclipse Indigo. Isso é muito estranho pois o projeto rodava normalmente sem essa alteração em um windows XP(32-bits),jre6 e outro eclipse
(que não me recordo qual era)

Diegoshi…Obrigado pela dica…

Mas tambem tenho essa mesma (dúvida por que com essa alteração funcionou ?).

vlw

Criado 11 de outubro de 2007
Ultima resposta 12 de fev. de 2012
Respostas 15
Participantes 8