Erro executavel ao conectar banco Oracle

10 respostas
M

Boa tarde

Essa e minha primeira aplicação java com acesso a banco externo (oracle)
o aplicativo rodou perfeitamente sendo executado pela IDE tenho as bibliotecas e tal, entretanto quando eu vou executar o .jar direto pela linha de comando
ta apresentando o seguinte erro:
o que eu devo fazer?

[img]http://img41.imageshack.us/img41/6131/errows.jpg[/img]

segue minha classe de conexão:

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


public class Conexao {



   public static Connection getConexao() throws ClassNotFoundException, SQLException{


        try{
        Class.forName("oracle.jdbc.driver.OracleDriver");
        
        return DriverManager.getConnection("jdbc:oracle:thin:@10.0.0.5:1521:ORA10G","banco ","123");
        //"jdbc:oracle:thin:@" + servidor + ":" + porta + ":" + banco;
           
        }catch(ClassNotFoundException e){
            System.out.println("erro");
            throw new SQLException(e.getMessage());


        }


    }


   }

Obrigado

10 Respostas

ivandasilva

Posta aí a msg de erro e o stacktrace

M

opa, blz Ivan?
nao deu erro nenhum no console, ele rodou direitinho
so deu exeption na linha de comando mesmo

ivandasilva

ClassNotFoundException ou SQLException ?

M

SQLException

eu to acreditando que seja algo com o driver oracle :roll:

ivandasilva

Bom, então sabemos pelo menos que o Driver esta no seu classpath :lol:

A conexão esta apontando para 10.0.0.5, é esta a máquina com o BD ?
A instância esta correta ?
Usuário/senha corretos ?

Põe o stacktrace aí que fica mais fácil de encontrar o erro…

M

exatamente, ta certinha a string de Conexao

onde aparece o strackTrace? pq os unicos erros que aparecem eu postei na imagem

ivandasilva

Este IP é da sua máquina?

Você esta tentando conectar da sua máquina ou de uma máquina remota, pois, pode ser um problema de config. no Oracle, você pode dar uma olhada no arquivo TNSListener.ora

magraum, não tem imagem anexada neste post só o fonte…, o stacktrace é aquele que aparece logo abaixo do SQLException, mostra o caminho percorrido pela aplicação até chegar no erro…

M

o IP é do servidor onde o Oracle ta instalado.

engraçado…pra mim aparece a imagem que postei erro :frowning:
enfim, a descrição é assim:

C:\Users\Micro82.Micro82-PC>java -jar c:\NUTRIPLAN.jar

erro

14/03/2011 16:00:13 nutriplan.Form$2 run

GRAVE: null

java.sql.SQLException: oracle.jdbc.driver.OracleDriver

at nutriplan.Conexao.getConexao(Conexao.java:31)

at nutriplan.Form.Connexao(Form.java:53)

at nutriplan.Form.consulta(Form.java:67)

at nutriplan.Form.populaTabela(Form.java:101)

at nutriplan.Form.(Form.java:37)

at nutriplan.Form$2.run(Form.java:234)

at java.awt.event.InvocationEvent.dispatch(Unknown Source)

at java.awt.EventQueue.dispatchEventImpl(Unknown Source)

at java.awt.EventQueue.access$000(Unknown Source)

at java.awt.EventQueue$1.run(Unknown Source)

at java.awt.EventQueue$1.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown

Source)

at java.awt.EventQueue.dispatchEvent(Unknown Source)

at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.run(Unknown Source)
ivandasilva

magraum,

 o seu classpath direitinho porque conforme o stacktrace você pode ver que ele esta caindo no [b]catch(ClassNotFoundException ex)[/b] ,ou seja, a exceção é lançada nesta linha
Class.forName("oracle.jdbc.driver.OracleDriver");

e dentro deste catch você joga um SQLException.

O que eu aconselho, é você tirar este [b]throw new SQLException()[/b] porque isto nos deixa confusos e nos leva a pensar que é um erro, porém, esta ocorrendo outro... :lol: 


 Use o catch para tratar a exception, se for jogar outra exception jogue uma mais específica, embora muitos dizem que é melhor trabalhar com as exceptions do próprio Java
M

blz Ivan, vou tentar denovo amanha na empresa, agradeço muito a atenção

Criado 14 de março de 2011
Ultima resposta 14 de mar. de 2011
Respostas 10
Participantes 2