Reputation: 23
I am adding some new records to my table "flight" in Oracle database. However, I encountered a error which is called in valid character. May anyone help me to figure the error out of my insertion statement.
My Table creation statement is as follow.
create table flight(
FlightID integer NOT NULL,
Airline char(20) NOT NULL,
DepartCity char(20) NOT NULL,
ArrivalCity char(20) NOT NULL,
DepartTime timestamp NOT NULL,
ArrivalTime timestamp NOT NULL,
Class2Price integer NOT NULL,
Class1Price integer NOT NULL,
Class2Seats integer NOT NULL,
Class1Seats integer NOT NULL,
primary key (FlightID));
My insertion is as follow
insert into flight(FlightID, Airline, DepartCity, ArrivalCity, DepartTime, ArrivalTime, Class2Price, Class1Price, Class2Seats, Class1Seats)
Values(2,'Pacific Airlines','Taipei','Osaka',to_timestamp('2014-12-01 08:15','yyyy-mm-dd HH24:MI'),to_timestamp('2014-12-01 13:15','yyyy-mm-dd HH24:MI'),4500,6000,2,6);
My JDBC JavaCode is as follow
stmt.execute("insert into flight(FlightID, Airline, DepartCity, ArrivalCity, DepartTime, ArrivalTime, Class2Price, Class1Price, Class2Seats, Class1Seats)"
+"values("+ values+")");
where values is
values =2,'Pacific Airlines','Taipei','Osaka',to_timestamp('2014-12-01 08:15','yyyy-mm-dd HH24:MI'),to_timestamp('2014-12-01 13:15','yyyy-mm-dd HH24:MI'),4500,6000,2,6
The error code are as follow
3月 15, 2014 12:45:06 上午 database.application.DatabaseApplication load_data
SEVERE: null java.sql.SQLSyntaxErrorException: ORA-00911: invalid character
at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:91)
at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:112)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:173)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:455)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:413)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:1030)
at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:183)
at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:936)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1222)
at oracle.jdbc.driver.OracleStatement.executeInternal(OracleStatement.java:1770)
at oracle.jdbc.driver.OracleStatement.execute(OracleStatement.java:1739)
at oracle.jdbc.driver.OracleStatementWrapper.execute(OracleStatementWrapper.java:298)
at database.application.DatabaseApplication.load_data(DatabaseApplication.java:282)
at database.application.DatabaseApplication.Data_mani_menu(DatabaseApplication.java:106)
at database.application.DatabaseApplication.main_menu(DatabaseApplication.java:55)
at database.application.DatabaseApplication.main(DatabaseApplication.java:28)
Upvotes: 0
Views: 7050
Reputation: 1722
This line is missing the final comma ',
':
DepartCity char(20) NOT NULL
EDIT: it also turned out that the insert statement string was containing tab chars instead of spaces.
Upvotes: 1