Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 带ORA-00911的SQL插入:无效字符_Java_Sql_Oracle_Jdbc - Fatal编程技术网

Java 带ORA-00911的SQL插入:无效字符

Java 带ORA-00911的SQL插入:无效字符,java,sql,oracle,jdbc,Java,Sql,Oracle,Jdbc,我正在向Oracle数据库中的表“flight”添加一些新记录。但是,我遇到了一个错误,该错误在有效字符中调用。请任何人帮我找出插入语句中的错误 我的表创建语句如下 create table flight( FlightID integer NOT NULL, Airline char(20) NOT NULL, DepartCity char(20) NOT NULL, ArrivalCity char(20) NOT NULL,

我正在向Oracle数据库中的表“flight”添加一些新记录。但是,我遇到了一个错误,该错误在有效字符中调用。请任何人帮我找出插入语句中的错误

我的表创建语句如下

 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));
我的插入如下

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);
stmt.execute("insert into flight(FlightID, Airline, DepartCity, ArrivalCity, DepartTime, ArrivalTime, Class2Price, Class1Price, Class2Seats, Class1Seats)"
                +"values("+ values+")");
 3月 15, 2014 12:45:06 上午 database.application.DatabaseApplication load_data
我的JDBC Java代码如下

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);
stmt.execute("insert into flight(FlightID, Airline, DepartCity, ArrivalCity, DepartTime, ArrivalTime, Class2Price, Class1Price, Class2Seats, Class1Seats)"
                +"values("+ values+")");
 3月 15, 2014 12:45:06 上午 database.application.DatabaseApplication load_data
价值观在哪里

   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
错误代码如下所示

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);
stmt.execute("insert into flight(FlightID, Airline, DepartCity, ArrivalCity, DepartTime, ArrivalTime, Class2Price, Class1Price, Class2Seats, Class1Seats)"
                +"values("+ values+")");
 3月 15, 2014 12:45:06 上午 database.application.DatabaseApplication load_data
严重:空 java.sql.SQLSyntaxErrorException:ORA-00911:无效字符

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)

此行缺少最后一个逗号“
”:

离开城市字符(20)不为空


编辑:还发现insert语句字符串包含制表符而不是空格。

谢谢。我在insert into语句而不是create table语句中遇到此错误。缺少的逗号是我在stackoverflow中的输入错误,但不是在我的程序中。我已经根据你的建议编辑了上面的问题。现在在Oracle上也可以了——我的意思是,当由SQL客户端运行时。我明白了。可能是因为java代码的错误。我使用JDBC连接oracle数据库。我还将Java代码包括在问题中。你可以看看。谢谢。检查“ClassPrice,Class2Seats”之间的字符;只是空格还是有标签?是的,你是对的。这就是制表符和空格的问题。我现在可以将记录插入数据库而不会出错。非常感谢您确保,您在
JDBC
中的插入查询字符串中不使用分号(
),请您也添加java代码片段好吗?确切的错误信息本身呢?