Conexão com Banco de Dados

5 respostas
rafaelrodrigues1607

Boa tarde pessoal!!!

Estou iniciando na programação java. Já tentei de todas as formas fazer conexão com o Banco de Dados Oracle, mas não está dando certo. Aqui abaixo está a classe que cria as conexões.

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


public class ConnectionFactory {
	public static Connection getConnection() throws SQLException {
		try {
		Class.forName("oracle.jdbc.driver.OracleDriver");
		System.out.println("Conectando banco de dados");
		return DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:8081/spacemusic",
		"spacemusic", "spacemusic");
		} catch (ClassNotFoundException e) {
		throw new SQLException(e.getMessage());
		}
		}
}

E aqui embaixo é onde insere os dados no banco

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;


public class JDBCInsere {

	public static void main(String[] args) {
		try {
		// conectando
		Connection con = ConnectionFactory.getConnection();
		// cria um preparedStatement
		PreparedStatement stmt = con.prepareStatement("insert into contatos(nome,email,login) values (?,?,?)");
		// preenche os valores
		stmt.setString(1, "Rafael");
		stmt.setString(2, "[email removido]");
		stmt.setString(3, "rafa");
		// executa
		stmt.execute();
		stmt.close();
		System.out.println("Gravado!");
		con.close();
		} catch (SQLException e) {
		e.printStackTrace();
		}
	}	
}

Gostaria de sanar esse enigma. Obrigado!!!

5 Respostas

rsakurai

Qual a versão do Oracle? E qual o driver vc colocou na aplicação?

Se estiver usando o OracleExpress tenta mudar sua URL para: jdbc:oracle:thin:@127.0.0.1:8081/XE

E qual erro aparece quando vc executa?

romarcio

Você mudou a porta do Oracle?
Pelo que sei não é 8081 e sim 1521.

rafaelrodrigues1607

Realmente estou usando o Oracle Express e já fiz as mudanças necessárias, mas n]ao adiantou o erro continua sendo esse: “Exception in thread “main” java.sql.SQLException: Exceção de E/S: Got minus one from a read call”. O drive que estou usando é o “Classe12.zip”.

rsakurai

Posta o stack trace completo.

rafaelrodrigues1607

Aqui está o Stack Trace

Conectando banco de dados

java.sql.SQLException: Exceção de E/S: Got minus one from a read call

at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)

at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)

at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:255)

at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:387)

at oracle.jdbc.driver.PhysicalConnection.(PhysicalConnection.java:414)

at oracle.jdbc.driver.T4CConnection.(T4CConnection.java:165)

at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)

at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)

at java.sql.DriverManager.getConnection(Unknown Source)

at java.sql.DriverManager.getConnection(Unknown Source)

at ConnectionFactory.getConnection(ConnectionFactory.java:11)

at JDBCInsere.main(JDBCInsere.java:11)
Criado 23 de março de 2011
Ultima resposta 24 de mar. de 2011
Respostas 5
Participantes 3