如果你用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;
完美解決,但是中間的語句也是不能少“;”的,不然還是會報錯,切記!