java - ojdbc7 - Comprender los errores misteriosos de Oracle JDBC-ORA-00911: carácter no válido
oracle database jdbc (3)
Estoy haciendo 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);
}
}
}
Lamentablemente, los mensajes de error de Oracle no son tan informativos como mysql o mssql y no puedo solucionar problemas fácilmente. Tampoco puedo ver qué línea de código causó la excepción.
Bohemian tiene toda la razón. No veo por qué esto fue tan difícil. Si muestra el mensaje en Google, obtendrá esto:
http://www.dba-oracle.com/sf_ora_00911_invalid_character.htm
El punto y coma es el primer problema observado.
Otra recomendación: No hagas esto.
catch(SQLException e){System.out.println("Exception: " + e);}
Haz esto en su lugar:
catch(SQLException e){
e.printStackTrace(); // better yet, log it.
}
Te dará mucha más información.
Intente eliminar el punto y coma del 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
eliminar el ; desde el interior de la consulta