Não consigo conectar no Oracle utilizando o JAVA

Olá pessoal,
Gostaria de saber se alguém pode me dar um help! Esto tentanto efetuar um conecção no Oracle utilizando um programa feito no JAVA. Já estou com o arquivo ojdbc14.jar mas mesmo assim não consigo fazer rodar o programa. Segue código abaixo:

import java.sql.*;
class BDSQL {
public static void main(String args[]){
Connection con = null;
try {
Class.forName(“oracle.jdbc.driver.OracleDriver”);
con = DriverManager.getConnection(“jdbc:oracle:thin:@192.165.150.66:1521:TESTE.WORLD”,“esro”,“orse”);
Statement stm = con.createStatement();
String SQL = " select * from ficha_5 order by nome “;
ResultSet rs = stm.executeQuery(SQL);
while (rs.next()) {
System.out.println(rs);
}
} catch (SQLException e) {
e.printStackTrace();
} catch (ClassNotFoundException g) {
g.printStackTrace();
} finally {
try {
con.close();
} catch (SQLException onConClose) {
System.out.println(” Houve erro no fechamento da conexão ");
onConClose.printStackTrace();
}
}
}
}

O erro que ocorre está logo abaixo:

Exception in thread “main” java.lang.NoClassDefFoundError: BDSQL/java

java.sql.SQLException: ExceþÒo de E/S: Connection refused(DESCRIPTION=(TMP=)(VSN
NUM=153093120)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:333)
at oracle.jdbc.driver.OracleConnection.(OracleConnection.java:404)

    at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.ja

va:468)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:314)
at java.sql.DriverManager.getConnection(DriverManager.java:525)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at BDSQL.main(BDSQL.java:7)
Exception in thread “main” java.lang.NullPointerException
at BDSQL.main(BDSQL.java:20)

Se alguém souber, agradeço!!!

vc está tentano rodar essa classe direto ??? no run ???

sugestão 1: qnd for colocar codigo… coloque dentro da tag “code”
sugestão 2: responder a pergunta! :smiley: hehe

Essa classe estou tentando rodar direto pelo prompt: java -cp “.;ojdbc14.jar” BDSQL
BDSQL é a classe.

Você sabe qual a melhor solução?

Veja o erro:

 java.sql.SQLException: ExceþÒo de E/S: Connection refused(DESCRIPTION=(TMP=)(VSN
NUM=153093120)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4)))) 

Ele está negando conexões com banco verifique se existe um firewall ou liberar o oracle a aceitar conexoes remotas

Eu dúvida: TESTE.WORLD é o nome da sua instancia no Oracle ou uma entrada do TNSNAMES? Deveria ser o nome da instancia.

[code]Oyama disse:

Eu dúvida: TESTE.WORLD é o nome da sua instancia no Oracle ou uma entrada do TNSNAMES? Deveria ser o nome da instancia. [/code]
Na verdade eu não sei. Não conheço muito de oracle. Para eu poder acessar o oracle através do SQL Plus, eu digito o usuário, senha e String do Host. Por dedução, depois do IP e da porta, coloquei a String do Host que é TESTE.WORLD. Essa informação que eu coloquei está errada?
Ps.: Versão do ORACLE: 9i

Class.forName("oracle.jdbc.OracleDriver");
DriverManager.getConnection("jdbc:oracle:thin:" + user + "/"
+ password + "@" + IP + ":" + porta + ":" + db);

Obs 1: Usuário e senha do banco, esse vc ja conhece de boas
Obs 2: IP do servidor Oracle, provalemente vc não deve saber, basta perguntar, ou vai que vc saiba neh
Obs 3: Porta para se conectar no Banco, normalmente é usada a porta 1521
Obs 4: DB, o último nome que vc digita no SLQ Plus.
Obs 5: Lembre-se de utilizar o Driver JDBC Oracle correto
Obs 6: não existe Obs 6, espero que nessa observação vc ja tenha conseguido se conctar ao Oracle

[quote=Ai_Caramba]Para eu poder acessar o oracle através do SQL Plus, eu digito o usuário, senha e String do Host. Por dedução, depois do IP e da porta, coloquei a String do Host que é TESTE.WORLD. Essa informação que eu coloquei está errada?
Ps.: Versão do ORACLE: 9i[/quote]

No SQLPlus o “String do host” é uma entrada no TNSNAMES, pois ele usa um protocolo proprietário com a instalação de um Oracle Client. Se você usa o modo thin, a conexão tem que ser feita passando como ultimo parametro a instancia. Procure arquivo $ORACLE_HOME/NETWORK/ADMIN/TNSNAMES.ORA a entrada TESTE.WORLD e veja qual a instancia (SID).

package com.teste.lucas;

import javax.servlet.http.*;

import java.io.PrintWriter;
import java.io.IOException;

public class TesteNovo extends HttpServlet{

int var = 0;

public void doGet(HttpServletRequest solicitacao, HttpServletResponse resposta) throws IOException{

	PrintWriter out;
	resposta.setContentType("text/html");
	out = resposta.getWriter();

	String pega = solicitacao.getParameter("txtNumero");

	if(pega == null){
		pega = "0";
	}
	
	out.println("Valor Digitado: "+pega);

	out.println("<html>");
	out.println("<body>");
	out.println("<form name = 'frmNovo' method = 'GET' action = '/TesteWeb/testeNovo'>");

	try{
		var = var + Integer.parseInt(pega);
	}catch(NumberFormatException erro){
		out.println("ERRO: "+erro.getMessage());
		out.println("<br>ERRO - DIGITE APENAS VALORES NUMÉRICOS");
		pega = "";
		var = 0;
	}

	out.println("<br><br>Total: "+var+"<br><br>");
	
	out.println("<input type = 'text' name = 'txtNumero'>");
	out.println("<input type = 'Submit' name = 'btnOk' value = 'Enviar'>");
	out.println("</form>");
	out.println("</body>");
	out.println("</html>");
}

}

Tire o .WORLD lá na sua string de conexão e rode a classe de novo.

Ola pessoal, quando eu me conecto no servidor oracle via jdbc, qual é o usuário do sistema operacional que o driver usa para se conectar na maquina servidora? eu só passo login e senha do user do oracle, e do SO, onde eu encontro isso???

obrigado
Eder