Tworzę kod Java 1.6-JDBC-Oracle 11. Stworzyłem tabelę o nazwie pracownik o identyfikatorze, nazwisku i wieku. Otrzymuję błąd - ORA-00911: nieprawidłowy znak. Jak mogę to naprawić?Zrozumienie tajemniczych błędów JDBC Oracle - ORA-00911: nieprawidłowy znak
Oto moja 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);
}
}
}
Niestety, komunikaty o błędach Oracle nie są tak dobrze poinformowany jak MySQL lub MSSQL, a ja nie jestem w stanie strzelać kłopoty je łatwo. Nie jestem również w stanie zobaczyć, która linia kodu spowodowała wyjątek.
Tak, teraz działa. Czasami używam; i nie narzeka. Na przykład na końcu instrukcji tworzenia tabeli. –
Zauważyłem, że 'executeQuery' nie lubi końca średnika, ale' execute' nie ma nic przeciwko. –
Wow! Nie mogę uwierzyć, że ludzie faktycznie płacą pieniądze za Oracle DB. – isapir