Operações jdbc[RESOLVIDO]

Bom dia, estou tendo problemas para inserir no banco oracle.

minha classe de conexão ->

[code]public class ConnectionFactory {

public static Connection getConnection() {
    try {
        Class.forName("oracle.jdbc.OracleDriver");
        Connection con;
        con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "vinicius", "vinicius");
        System.out.println("Conctado");
        return con;
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
        System.out.println("nao carrego driver");
        return null;
    } catch (SQLException e) {
        System.out.println("nao conecto");
    }
    return null;
}[/code]

e este é meu método de teste para inserir ->

[code]public void testeInsere(){
Connection con = ConnectionFactory.getConnection();
PreparedStatement ps = null;

    String sql = "INSERT INTO TESTE(ID,NOME) VALUES(1,'TESTE');";
    try {
        ps = con.prepareStatement(sql);
        ps.executeUpdate();
    } catch (SQLException e) {
        e.printStackTrace();
    }finally{
        ConnectionFactory.close(ps, con);
    }
}[/code]

minha saída no console é esta ->

[code]Conctado
java.sql.SQLException: ORA-00911: caractere inválido

at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:330)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:287)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:753)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:218)
at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:971)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1191)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3414)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3498)
at br.com.jdbc.dao.ConnectionFactory.testeInsere(ConnectionFactory.java:59)
at br.com.jdbc.dao.ConnectionFactory.main(ConnectionFactory.java:70)

CONSTRUÍDO COM SUCESSO (tempo total: 0 segundos)
[/code]

Bom a principio o erro é simples a nível de banco caractere inválido. Mas não é exatamente este erro que esta ocorrendo como podem perceber eu consigo me conectar e ele me retorna um provável erro ORA-00911: caractere inválido.
Encontrei algumas resposta na internet referente a este erro dizendo que provavelmente é a versão do meu JDK(1.6) que é incompatível com o diver jdbc que estou usando que não deixa eu fazer estas operações executeUpdate(); execute(); etc… pois como devem ter percebido consigo me conectar perfeitamente, apenas não consigo fazer inserts, update e delete…

o erro acontece nesse momento ps.executeUpdate();

Se alguém conseguir me ajudar a encontrar uma solução o quanto antes muito obrigado att.

Nessa parte:

ps.executeUpdate(); 

Coloque:

ps.executeUpdate(sql); 

Você não passou o comando sql como parâmetro do executeUpdate, ele não esta fazendo nada ai, só ta servindo pra dar erro

sem sucesso.

Remova o ‘;’ da String, ao final, deixando assim:

String sql = "INSERT INTO TESTE(ID,NOME) VALUES(1,'TESTE')";

E procure usar o PreparedStatement para setar esse tipo de valor para você, ao invés de adicionar ‘na mão’.

Tem certeza?? Eu só vejo esse erro ai, se não conseguir tente da seguinte forma:

    public void testeInsere(){  
        
        Statement ps = null;  
          
        String sql = "INSERT INTO TESTE(ID,NOME) VALUES(1,'TESTE')";  
        try {  
            ps = con.createStatement();  
            ps.executeUpdate(sql);  
        } catch (SQLException e) {  
            e.printStackTrace();  
        }finally{  
            con.close  
        }  
    }

Obrigado nel, [RESOLVIDO]

obs: para não ocorrer o erro, para conectar com oracle 10g use jdk(1.6)

Att.