如果你用java写程序访问数据库,出现这个问题: java.sql.SQLException: ORA-00911: 无效字符
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288) at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743) at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:216) at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:799) at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1037) at oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:839) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1132) at oracle.jdbc.driver.OracleStatement.doScrollExecuteCommon(OracleStatement.java:4051)
百度了下:网上达人们给出如下解决方法:
原因是:你的sql多了一个";" 去掉就可以了
但是,这只是针对单条语句的解决办法,如果是批处理,就算你不少‘:’也是不行的,我在PLSQL中试了一下,
如果写在一行是不行的,但是分行写是可以的,奇怪,黑线中~~,
又百度了一波,找到了解决办法,
在批处理外面套上 begin;....end;
完美解决,但是中间的语句也是不能少“;”的,不然还是会报错,切记! |