ERRO - Conexao JDBC

[b]"O driver é um jar (se for um driver puro java), e você deve te-lo em seu classpath, caso contrário não conseguirá utilizá-lo. Se preferir, coloque o driver no classpath na hora de chamar o java, atraves da linha de comando, por exemplo:

1 java -classpath diretorio/meudriver.jar MinhaClasse"[/b]

Ola Galera, estou acompanhando o tutorial do site para fazer uma conexao com o banco de dados. Porem nao entendi muito bem a ultima linha…

O que eu fiz. eu peguei o dbriver salvei em uma pasta…
(D:\Pessoal\Java\mysql-connector-java-5.0.5)

ao inves de dar o comando "java -classpath … " adicionei ele direto nas variaveis de ambiente do windows.
da seguinte forma…

Nome da variavel= Classpath
Valor da variavel= D:\Pessoal\Java\mysql-connector-java-5.0.5\mysql-connector-java-5.0.5-bin.jar

So que nao se se esta certo desta forma. Tentei fazer a conexao com o banco… Ou melhor fazer o carregamento do driver.
E esta dando erro.

Class.forname(“com.mysql.jdbc.Driver”);

Entao galera nao sei o que fazer se alguem puder me ajudar… Inclusive ate vi um outro forum que achei que poderia me ajudar mas nao ajudou muito…

FORUM=Arquivo Jar na hora de carregar não encontra o org.gjt.mm.mysql.Driver

Aguardo auxilio. Desde ja grato

vc usa alguma ide ?

Eu uso Eclipse.

faz o seguinte então :

cria um diretório chamado lib no seu projeto copia o drive e cola nesse diretório ai vc seleciona o projeto -> alt + enter -> java build path -> libraries -> addjars -> seleciona o drive e de ok !! pronto o seu drive já está no seu projeto

qualquer coisa estamos ai !!

Valeu, pelo menos um erro acho que eu consegui eliminar. Obrigado. Agora estou com outro problema.

[code]package Fontes.Window;
import java.sql.*;
public class Banco extends Janela{
private static final long serialVersionUID = 1L;
//Class.forName(“com.mysql.jdbc.Driver”);
public Banco(){
try {
Connection conn = DriverManager.getConnection(“jdbc:mysql://localhost/work?user=root&password=ski69547”);
} catch (SQLException e) {
e.printStackTrace();
}
Statement stm = conn.createStatement();
ResultSet rs = stm.executeQuery("");

}

}[/code]

no conn do “Coneection conn = …” esta dando erro em cima, argumentando que ele nao existe. Porque esta dando esta mensagem?

[quote=soulhave]Valeu, pelo menos um erro acho que eu consegui eliminar. Obrigado. Agora estou com outro problema.

[code]package Fontes.Window;
import java.sql.*;
public class Banco extends Janela{
private static final long serialVersionUID = 1L;
//Class.forName(“com.mysql.jdbc.Driver”);
public Banco(){
try {
Connection conn = DriverManager.getConnection(“jdbc:mysql://localhost/work?user=root&password=ski69547”);
} catch (SQLException e) {
e.printStackTrace();
}
Statement stm = conn.createStatement();
ResultSet rs = stm.executeQuery("");

}

}[/code]

no conn do “Coneection conn = …” esta dando erro em cima, argumentando que ele nao existe. Porque esta dando esta mensagem?[/quote]

voce configurou o jdbc? comigo funcionava,
deve ser questao tambem de importação de pacotes.

Esse erro está relacionado com variáveis locais e variáveis globais de uma pesquisada sobre esse assunto , mas resumindo

variáveis globos -> são enxergadas por todos os métodos da classe

variáveis locais -> possui escopo de bloco Ex: pegando um método qualquer

[code] public void mostraEscopo(){

	// essa variável possui escopo no metódo todo
	// ou seja todos os blocos que estiver dentro do 
	// método vão enxergar essa variável 
	int v1 = 0; 
	
	while( true ){
		
		// já essa possui escopo no bloco do while 
		// ela não enxerga v1 pq o seu escopo só está no bloco while
		// portanto tudo que estiver no bloco while enxergara ela 
		int v2 = v1;
		
		if( v2 > 0 ){
			
			// e no caso dessa é idêntica a v2 só que o seu 
			// escopo e no bloco if e como o if está dentro 
			// do while e dentro do método ela enxerga v1,v2
			// e ai vai 
			int v3 = v2 + v1;
		}
	}
}[/code]

então resolvendo o seu problema , a sua variável conn está sendo criada dentro do bloco try então ela só é vista dentro do bloco com isso ela não poderá ser utilizada se não for no bloco , então vc deve colocar ela como uma variável mais externa no seu método de forma que ela seja enxergada aonde vc for utilizar ela , eu dei uma arrumada no seu código
da uma olhada ai

[code]public class Banco extends Janela{

private static final long serialVersionUID = 1L;

public Banco(){
	
	Connection conn = null;
	try {
		
		Class.forName("com.mysql.jdbc.Driver");
		
		conn = DriverManager.getConnection("jdbc:mysql://localhost/work?user=root&password=ski69547");
	} catch (SQLException e){
		e.printStackTrace();
	}
	Statement stm = conn.createStatement();
	ResultSet rs = stm.executeQuery("");
	
}

}[/code]

precisar é só gritar !!

abraços

uma pergunta vcs estão recebendo e-mail de notificação de resposta do forum ?

Eu não estou recebendo, mas está configurado para não receber no meu perfil.

Então !! resolveu o seu problema ?

Opa! Na verdade não, ainda não resolveu. Estive viajando e não deu para mecher hoje é que voltei. Aqui meu programa está dando erro nesta linha. Não entendo porque.

Class.forName(“com.mysql.jdbc.Driver”);

Não sei se é o driver, mas ele está la nas libraries…Carreguei como você falou, mas essa instrução não está funcionado… Onde está sublinhado é onde está ocorrendo o erro.

Abraços