0
我有長的SQL查詢字符的應用程序出現了錯誤,並在日誌Oracle SQL中的SQL查詢字符串長度是否可以導致異常?
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908
║ ) at java.lang.Thread.run(Thread.java:662) Caused by:
║ com.myapp.DiagException: Execution of the
║ SQL query failed. SQL query was: 'null' at
║ com.myapp.plsql.PLSQLReportProcessor
║ .displaySQLResults(PLSQLReportProcessor.java:622)
║ com.myapp.engine.DiagRunnable.run(DiagRunnable.java:68)
║ at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:442)
║ at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at
║ java.util.concurrent.FutureTask.run(FutureTask.java:139) ... 2 more Caused
║ by: java.sql.SQLException: Null SQL statement passed to prepareStatement at
║ weblogic.jdbc.wrapper.Connection.prepareStatement(Connection.java:548) at
║ com.myapp.engine.impl.report.plsql.PLSQLReportProcessor
║ .displaySQLResults(PLSQLReportProcessor.java:583) ... 17 more
║ Fix Information: An unexpected error was encountered. Please contact your
║ system administrator.
以下異常是否有任何限制的SQL查詢的長度可能會造成這個錯誤或者它可能是錯誤數據的結果,如其中一列爲空?
我也能夠從SQL開發人員運行這個長的SQL查詢。只有在作爲參數傳遞時通過應用程序執行時纔會出錯。
此sql查詢中的字符數是3261個字符。它似乎沒有超過32k的限制。我錯過了什麼嗎? – Pha3drus
@ Pha3drus根據文檔,你是對的。可悲的是我不能說出是什麼原因導致了你得到的錯誤,但這可能不是查詢的長度。 – Szeki