ephram
Abril 26, 2011, 8:11am
#1
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?
ephram
Abril 26, 2011, 8:18am
#4
[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
ephram
Abril 26, 2011, 8:23am
#6
Eu fiz isso, más continua dando o mesmo erro
Qual estrutura está utlizando?
Servidor WEB, ferramenta?
ephram
Abril 26, 2011, 8:27am
#8
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
ephram
Abril 26, 2011, 8:50am
#12
[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!!!