Iniciante - Oracle => Java

13 respostas
thundercas

Galera, estou tentando conectar o Java ao banco do Oracle, mas estou tendo problemas. Já pesquisei por quase 1 hora no forum e no google mas não achei a solução.

Meu código é:

public class ConnectionFactory {

	/**
	 * @param args
	 */
	public static Connection getConnection() throws SQLException {
		try {
		Class.forName("jdbc:oracle:thin:@127.0.0.1:HELP");
		return DriverManager.getConnection("oracle.jdbc.driver.OracleDriver",
		"system","112285");
		} catch (ClassNotFoundException e) {
		throw new SQLException(e.getMessage());
		}
		}
}

O erro é:

Se alguém puder me ajudar, agradeço… Afirmo que instalei o Oracle, iniciei o banco e peguei a tabela Help que já vem default no Oracle.

13 Respostas

Andre_Fonseca

Oi,

No lugar da tabela HELP coloque o nome do banco de dados que ela pertence, coloca tb o stack trace completo (log) para o pessoal analistar melhor

[]´s

kaique

Cara, a bronca aí é que você trocou as bolas… :slight_smile:

public class ConnectionFactory {

	/**
	 * @param args
	 */
	public static Connection getConnection() throws SQLException {
		try {
		Class.forName("oracle.jdbc.driver.OracleDriver");
		return DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:HELP",
		"system","112285");
		} catch (ClassNotFoundException e) {
		throw new SQLException(e.getMessage());
		}
		}
}

Agora sim está ok. tenta mais uma vez…

[]'s.

thundercas

kaique, fiz o que você falou, mas o erro continua…

Já coloquei o arquivo ojdbc14 dentro do diretório do meu projeto…

Segue abaixo o código atual e o erro… Se alguém puder ajudar, ficarei agradecido.

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

public class ConnectionFactory {

	/**
	 * @param args
	 */
	public static Connection getConnection() throws SQLException {

		try {
			Class.forName("oracle.jdbc.driver.OracleDriver");
			System.out.println("Conectando-se ao banco...");
			return DriverManager.getConnection(
					"jdbc:oracle:thin:@127.0.0.1:teste", "cassiano", "112285");
		} catch (ClassNotFoundException e) {
			throw new SQLException(e.getMessage());
		}
	}
}
kaique

Blz, mas não basta adicionar a biblioteca de acesso ao Oracle no diretório do seu projeto. Você precisa adicionar essa lib nova ao classpath do seu projeto. Assim, quando sua aplicação estiver em execução, o compilador saberá onde procurar as classes relativas à biblioteca do Oracle.
Deu pra entender??

[]'s.

Paulo_Faulstich

Dae thundercas.

Cara seguinte qual oracle tu ta usando?

Esse ip que tu ta passando é o da tua maquina?

Pelo que vi a algumas coisas estranhas na url que você demontra.

Por default a porta do oracle é a 1521 e você nem passa na url.

O nome do teu banco é HELP?

Dependendo se tu usa a IDE JDeveloper fica mais facil de colocar a lib no classpath, já que o JDeveloper é um produto da oracle :slight_smile:

Se tu usa outra ide vais ter que baixar o driver. O nome do jar se não mudou é ojdbc14.jar

Da uma olhada aqui http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/htdocs/jdbc_10201.html

Provavelmente você deve usar o xe

jdbc:oracle:thin:@127.0.0.1:HELP

ao invés da url acima tente usar esta.

jdbc:oracle:thin:@localhost:1521:HELP

Se não conseguir posta ai!

Flw.

FabricioPJ

Se estiveres usando o Oracle XE, substitui a parte “HELP” por “XE”

E não esqueça de incluír os arquivos JDBC que se não me engano são dois para o Oracle XE 10g.

thundercas

Galera, agradeço a ajuda… Mas creio que o problema não esteja nesta linha, mas sim no Class.forName, pois se eu coloca uma msg depois desta linha, esta não é exibida. Eu já coloquei o diretório do Driver na CLASSPATH da máquina, mas não resolveu. Ele deveria localizar o Driver independente do Oracle estar instalado/rodando, não??

thundercas

OBS: Se eu abro o DOS e digito “javac oracle.jdbc.driver.OracleDriver”, ele reconhece o Driver. Já inclui o caminho também na CLASSPATH no Eclipse, mas não consigo fazer rodar, o mesmo erro persiste.

Paulo_Faulstich

Como assim cara! Não se o oracle não estiver instalado não!

Tu tem algum banco instalado na tua maquina?

thundercas

Conseguiiii… Ele localizou o Drive… Tive que setar manualmente o Driver nas propriedades do projeto. Agora, vou baixar o Oracle, obrigado a todos!!

Paulo_Faulstich

Bah cara que loucura to até com medo! HoIUHAOIuh! O que tu ta fazendo ai?

Tu adicionou o jar o classpath? Foi nas propriedades do teu projeto libries e adicionou o driver?

Cara tua classe nunca ia funcionar sem o banco instalado! Hehe

Mas tamo ai pra mais alguma duvida.

Boa sorte!

Flw

thundercas

Paulo Faulstich, o que eu quis é que, independente de eu ter o Oracle rodando na máquina, a JVM tem que localizar o Driver… Deveria dar erro apenas na linha do getConnection, pois aí sim ele está buscando as informações do banco de dados do Oracle.

Abraços

Paulo_Faulstich

Ah ok …

Flw então.

Abração.

Criado 11 de maio de 2008
Ultima resposta 23 de mai. de 2008
Respostas 13
Participantes 5