(RESOLVIDO) Conexão Oracle 11G + Java(NetBeans) / Driver ojdbc6.jar (RESOLVIDO)

Olá pessoal, estou precisando de uma ajudinha, eu estou tentando fazer uma conexão de um programa com um banco de dados.

Primeiramente tive dificuldade em fazer a conexão, dado que eu não sabia absolutamente nada de CLASSPATH (Agora acho que entendi “Criei uma Environment Variable”). Então criei uma nova Lib no NetBeans e a princípio resolvi este problema. Agora vem o outro (como de costume). Veja o código:


package testdboracle;

import java.sql.*;
/**
 *
 * @author RafaFrank
 */
public class OracleConnection {

    protected String JDBC_DRIVER = "oracle.jdbc.driver.OracleDriver";
    protected String JDBC_STRING = "jdbc:oracle:thin:@localhost:1521:ORCLDB1";
    protected String USER_NAME = "SYSTEM";
    protected String PASSWD = "12345";
    protected Connection conn = null;
    protected ResultSet rs = null;
    protected Statement stmt = null;

    public OracleConnection() {
        createConnection();
    }

    private void createConnection() {
        try {
            Class.forName(JDBC_DRIVER);
            conn = DriverManager.getConnection(JDBC_DRIVER, USER_NAME, PASSWD);
            stmt = conn.createStatement();

            String query = "SELECT * FROM TABLE TBL";
            rs = stmt.executeQuery(query);
        } catch (SQLException | ClassNotFoundException sqlEx) {
            sqlEx.printStackTrace();
            System.exit(1);
        } finally {
            try {
                if (rs != null) {
                    rs.close();
                }
                if (stmt != null) {
                    stmt.close();
                }
                if (conn != null) {
                    conn.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

Quando eu rodo ele, eu recebo:

run:
java.sql.SQLException: No suitable driver found for oracle.jdbc.driver.OracleDriver
	at java.sql.DriverManager.getConnection(DriverManager.java:604)
	at java.sql.DriverManager.getConnection(DriverManager.java:221)
	at testdboracle.OracleConnection.createConnection(OracleConnection.java:25)
	at testdboracle.OracleConnection.<init>(OracleConnection.java:19)
	at testdboracle.Main.<init>(Main.java:21)
	at testdboracle.Main.main(Main.java:211)
Java Result: 1
BUILD SUCCESSFUL (total time: 1 second)

Mas se eu for em “services” e criar uma nova conexão e preencher como neste tutorial: http://netbeans.org/kb/docs/ide/oracle-db.html

Eu consigo a conexão, mas não vejo como utilizar a conexão para inserir, pesquisar, deletar… No banco de dados.

Duvida:
É nescessário configurar o Classpath quando se usa NetBeans? Se sim, tem como me linkar ou me explicar uma forma SIMPLIFICADA de como fazer isto? Todos tutorias (uns 10) que pesquisei hoje falam 300 linhas do que é o Classpath mas não dizem como eu devo configurar ele (Passo a Passo). No caso aqui em casa eu (do jeito que eu entendi) fui em Sistema,Editar Environment Variables, criar nova, “.;D:\JCLASSPATH”. (Não sei se isto está certo).

vc colocou o jar do driver no projeto ??

Coloquei sim, tanto na pasta do projeto quanto na pasta “dist”. Nenhum deu efeito…

mas vc adicionou pelo netbeans ??

tipo criou uma biblioteca ou mesmo deu um click com o direito em bibliotecas e deu um adicionar jar ??

[quote=Polverini]mas vc adicionou pelo netbeans ??

tipo criou uma biblioteca ou mesmo deu um click com o direito em bibliotecas e deu um adicionar jar ??[/quote]

Eu colei todos os JARs que estão na pasta “lib” do do banco oracle dentro da pasta do projeto e depois adicionei todos na biblioteca e adicionei a biblioteca no projeto. Mesmo assim da o erro…

Kara n recomendo a ninguem trabalhar com netbeans… Se for possível troque pelo Eclipse, pois netbeans além de dar uns probleminhas chatos, só suja o código…

[]'s

[quote=gasabi]Kara n recomendo a ninguem trabalhar com netbeans… Se for possível troque pelo Eclipse, pois netbeans além de dar uns probleminhas chatos, só suja o código…

[]'s[/quote]

Ok… Mas mesmo que eu troque pelo Eclipse, continuaria no mesmo problema… ;/

[quote=gasabi]Kara n recomendo a ninguem trabalhar com netbeans… Se for possível troque pelo Eclipse, pois netbeans além de dar uns probleminhas chatos, só suja o código…

[]'s[/quote]

Como assim suja o código ??? Se vc estiver falando da criação de telas concordo mas do resto nao vejo o pq disso.
Problemas toda IDE tem.

Voltando ao assunto:

Tenta dar um limpar e reconstruir depois executa, se nao funcionar pode ser ou a lib que vc esta usando ou mesmo o jeito que vc colocou (não é só jogar na pasta tem que mostrar para o netbeans que a lib esta la)

[quote=Polverini][quote=gasabi]Kara n recomendo a ninguem trabalhar com netbeans… Se for possível troque pelo Eclipse, pois netbeans além de dar uns probleminhas chatos, só suja o código…

[]'s[/quote]

Como assim suja o código ??? Se vc estiver falando da criação de telas concordo mas do resto nao vejo o pq disso.
Problemas toda IDE tem.

Voltando ao assunto:

Tenta dar um limpar e reconstruir depois executa, se nao funcionar pode ser ou a lib que vc esta usando ou mesmo o jeito que vc colocou (não é só jogar na pasta tem que mostrar para o netbeans que a lib esta la)[/quote]

@Off: Eu gosto de usar NetBeans, porque ele é uma ferramenta assim como eclipse. E não manifesto minha opinião contra outras pessoas pq isso geralmente cria Flame.

@On: Eu ja dei clean and build, ja fiz o diabo a quatro. Mas como vc falou, o meu programa não deve estar se linkando com o driver. Como eu disse, o net beans se conecta com o Banco, mas o meu programa não. Logo, o driver usado está certo, porque eu tive que fornecer ele para fazer a conexão. O problema é que eu gostaria de conectar especificamente a classe OracleConnection com o banco… Pois então seria possível algo do tipo connection.add(algumacoisa);

Obs.: Eu criei uma biblioteca com todos os drivers da Oracle, tanto Thin quanto OCI… E importei essa biblioteca no meu projeto, tanto que se eu der “import” eu posso importar qualquer classe do package oracle. Ex: “oracle.jdbc.driver.OracleDriver”.

Boa tarde. Mesmo problema, só acompanhando o caso pra resolver o meu.

Vlw pela ajuda.

:smiley:

O erro está em:

conn = DriverManager.getConnection(JDBC_DRIVER, USER_NAME, PASSWD);

Já verifiquei meu password e meu user name, e está tudo certo… E o:

Class.forName(JDBC_DRIVER); 

Não lança erro nenhum… Infelizmente não faço menor ideia do que fazer…

[quote=rafafrank]O erro está em:

conn = DriverManager.getConnection(JDBC_DRIVER, USER_NAME, PASSWD);

Já verifiquei meu password e meu user name, e está tudo certo… E o:

Class.forName(JDBC_DRIVER); 

Não lança erro nenhum… Infelizmente não faço menor ideia do que fazer…[/quote]

-------------------RESOLVIDO-------------------------------//-----------------------RESOLVIDO-----------------------------//----------------------------RESOLVIDO-----------------------

Éééé… Eu so muito burro…

O erro estava na minha cara…

conn = DriverManager.getConnection(JDBC_STRING, USER_NAME, PASSWD); //Ao invés de JDBC_DRIVER

Sem erro algum…