Java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver [RESOLVIDO]

Galera, estou tendo problemas para fazer uma conexão com o banco Oracle na minha aplicação Java, abaixo segue a minha conexão:

[code]if(con == null){
try{
Class.forName(“oracle.jdbc.driver.OracleDriver”);
// con = DriverManager.getConnection(“jdbc:oracle://10.1.1.5:1521/xe_gd_5”,“cpa”,“cpa”);
con = DriverManager.getConnection(“jdbc:odbc:thin@10.1.1.5:1521:XE_GD_5”,“cpa”,“cpa”);

		}catch(SQLException e){
			System.err.println ("Erro: "+e);
			con = null;
		}catch(ClassNotFoundException e){
			System.out.println("ClassNotFound..."); 
			e.printStackTrace();
	}
	}[/code]

Más quando executo ele cai no “catch” do Class.forName(“oracle.jdbc.driver.OracleDriver”); me apresentando o seguinte erro: [color=red]java.lang.ClassNotFoundException:oracle.jdbc.driver.OracleDriver[/color]
Eu criei uma variável de ambiente no windows apontando para o Oracle: “C:\oracle\product\10.2.0\client_1\jdbc\lib\classes12.zip” e mesmo assim o erro continua ocorrendo,
alguém pode dar uma luz?

Bom dia!

Você configurou o classpath?

Configurei

[quote=cttahara]Bom dia!

Você configurou o classpath?[/quote]

Esse é o conteúdo do meu classpath: .;%JAVA_HOME%

Você postou que criou uma var de ambiente, faz assim no seu classpath:

.;%JAVA_HOME%;%[SUA VAR DE AMBIENTE]%

ou

.;%JAVA_HOME%;C:\oracle\product\10.2.0\client_1\jdbc\lib\classes12.zip

Eu fiz isso, más continua dando o mesmo erro

Qual estrutura está utlizando?

Servidor WEB, ferramenta?

Estou trabalhando com JSF, estou utilizando o TomCat 6, por enquanto é só isso, eu fiz apenas para testar a conexão com o banco, ainda não estou recuperando dados dele.

Joga o arquivo classes12.zip na pasta lib do tomcat.

Lembrando: ao fazer isso você está setando que todas aplicações que rodam nesse tomcat vão utilizar essa classe para conexão.

Necessário dar shutdown e startup no tomcat.

Bom dia ephram, crie uma classe somente para esabelecer a conexão, pode ser feito algo do tipo…

public class ConnectionByOracle {
	
	
	static {
		try {
			Class.forName("oracle.jdbc.driver.OracleDriver");
		} catch (ClassNotFoundException exception) { /* Ignored */ }
	}
	
	public static Connection getConnection() throws Exceptions {
		Connection conn = null;
		
		try {
			conn = DriverManager.getConnection(
					"jdbc:oracle:thin:@127.0.0.1:1521:XE",	
					"seu nome de usuario no banco", 								
					"sua senha");
		} catch (SQLException exception) {
			throw new Exceptions("Não foi encontrado o banco de dados!", exception);
		}
		
		return conn;
	}
}

Na sua classe DAO vc pode fazer algo do tipo…


private Connection _conn = null;
	
   _conn = ConnectionByOracle.getConnection();

Tente aí companheiro…

Pelo que estou vendo o seu problema é com o driver, dentro da lib tente clicar com o botão direito sobre o driver -> Build Path / Add Build Path

[quote=cttahara]Joga o arquivo classes12.zip na pasta lib do tomcat.

Lembrando: ao fazer isso você está setando que todas aplicações que rodam nesse tomcat vão utilizar essa classe para conexão.

Necessário dar shutdown e startup no tomcat.[/quote]

Resolveu o problema, vlw cara!

Blz!!!

Outra opção, para deixar a classe por aplicação, mover o classes12.zip para pasta WEB-INF/lib do seu projeto. Nesse caso, para cada projeto você necessita de uma cópia do arquivo.

Falow!!!