今天在用原生sql, jdbc操作数据库时老有问题: java.sql.SQLException: ORA-00911: 无效字符
[getStillOpenSlStatusChanges- getStillOpenSlStatusChanges error:
java.sql.SQLException: ORA-00911: 无效字符
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:573)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1891)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteDescribe(TTC7Protocol.java:830)
at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2391)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2672)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:589)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:527)
at com.hp.sqm.slam.slaenginenextgen.persistence.dao.impl.SLStatusChangeDAOImpl.getStillOpenSlStatusChanges(SLStatusChangeDAOImpl.java:174)
at com.hp.sqm.slam.slaenginenextgen.persistence.dao.impl.SLStatusChangeDAOImplTest.getStillOpenSlStatusChanges(SLStatusChangeDAOImplTest.java:144)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:643)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:558)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:722)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1023)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:137)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:121)
at org.testng.TestRunner.runWorkers(TestRunner.java:891)
at org.testng.TestRunner.privateRun(TestRunner.java:615)
at org.testng.TestRunner.run(TestRunner.java:496)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:323)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:318)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:290)
at org.testng.SuiteRunner.run(SuiteRunner.java:195)
at org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:904)
at org.testng.TestNG.runSuitesLocally(TestNG.java:871)
at org.testng.TestNG.run(TestNG.java:779)
at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:75)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:127)
DEBUG [main] com.hp.sqm.slam.slaenginenextgen.persistence.dao.impl.SLStatusChangeDAOImplTest getStillOpenSlStatusChanges- After getStillOpenSlStatusChanges(), There is nothing we got!
INFO [main] com.hp.sqm.slam.slaenginenextgen.persistence.dao.impl.DataAccessServiceBaseTest tearDown- closing EntityManagerFactory
DEBUG [main] org.hibernate.jdbc.ConnectionManager closeConnection- releasing JDBC connection [ (open PreparedStatements: 0, globally: 0) (open ResultSets: 0, globally: 0)]
DEBUG [main] org.hibernate.jdbc.ConnectionManager aggressiveRelease- aggressively releasing JDBC connection
差了老半天,晕啊, 原来在sql结束时加了‘;’,而jdbc 对sql的要求是不加的, 哎,问题解决了就好,以此为戒!!