Comprensión de los misteriosos errores de Oracle JDBC - ORA-00911: carácter no válido

Resuelto sweet dreams asked hace 12 años • 3 respuestas

Estoy creando código Java 1.6-JDBC-Oracle 11. Creé una tabla llamada empleado con identificación, nombre y edad. Recibo el error: ORA-00911: carácter no válido. Cómo puedo arreglar esto ?

Aquí está mi código.

import java.sql.*;
import java.util.Properties;
import java.io.IOException;
import java.io.FileInputStream;

public class HelloOracle {

    static String query =
        "SELECT emp_id, emp_name, emp_age " +
        "FROM employee;";

    public static void main(String[] args) {
        String username = "";
        String password = "";
        Properties prop = new Properties();
        try {
            FileInputStream fis = new FileInputStream("Login.properties");
            prop.load(fis);
        } catch (IOException ex) {
            ex.printStackTrace();
        }

        username = prop.getProperty("username").trim();
        password = prop.getProperty("password").trim();

        try {
            Connection con = DriverManager.getConnection("jdbc:oracle:thin:@//localhost:1521/xe", username, password);

            Statement stmt = con.createStatement();

            ResultSet rs = stmt.executeQuery(query);

            while (rs.next()) {
                System.out.print(rs.getString("emp_id"));
                System.out.print("  ,  ");
                System.out.print(rs.getString("emp_name"));
                System.out.print("  ,  ");
                System.out.print(rs.getString("emp_age"));
                System.out.println();
            }
        } catch (SQLException e) {
            System.out.println("Exception: " + e);
        }

    }

}

Desafortunadamente, los mensajes de error de Oracle no son tan informativos como mysql o mssql y no puedo solucionarlos fácilmente. Tampoco puedo ver qué línea de código provocó la excepción.

sweet dreams avatar Aug 08 '12 06:08 sweet dreams
Aceptado

Intente eliminar el punto y coma al final de su declaración SQL.

es decir

static String query = "SELECT emp_id, emp_name, emp_age " +
    "FROM employee"; // no trailing ";" in the SQL
Bohemian avatar Aug 07 '2012 23:08 Bohemian

eliminar el ; desde dentro de la consulta

Mehdi avatar Sep 10 '2016 23:09 Mehdi