Ich mache Java 1.6-JDBC-Oracle 11-Code. Ich habe eine Tabelle namens Mitarbeiter mit ID, Name und Alter erstellt. Ich bekomme den Fehler - ORA-00911: ungültiges Zeichen. Wie kann ich das beheben?Mysteriöse Oracle JDBC-Fehler verstehen - ORA-00911: ungültiges Zeichen
Hier ist mein Code-
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);
}
}
}
Leider Oracle Fehlermeldungen wie mysql oder MS SQL nicht so informativ sind, und ich bin nicht in der Lage, sie leicht zu Schwierigkeiten schießen. Ich bin auch nicht in der Lage zu sehen, welche Codezeile die Ausnahme verursacht hat.
Ja, es funktioniert jetzt. Manchmal benutze ich; und es beschwert sich nicht. Zum Beispiel am Ende von create table-Anweisungen. –
Ich habe bemerkt, dass 'executeQuery' das abschließende Semikolon nicht mag, aber' execute' macht nichts dagegen. –
Wow! Ich kann nicht glauben, dass Leute tatsächlich Geld für Oracle DB bezahlen. – isapir