2017-04-21 78 views
0

我試圖從jconn2升級到jconn4。我面臨的問題是c3p0無法按預期工作。快速在線搜索表示,它完全支持jconn4,但我得到以下例外。c3p0與jconnect的兼容性4

com.sybase.jdbc4.jdbc.SybSQLException: SQL Anywhere Error -685: Resource governor for 'prepared statements' exceeded 
    at com.sybase.jdbc4.tds.Tds.processEed(Tds.java:4003) 
    at com.sybase.jdbc4.tds.Tds.nextResult(Tds.java:3093) 
    at com.sybase.jdbc4.jdbc.ResultGetter.nextResult(ResultGetter.java:78) 
    at com.sybase.jdbc4.jdbc.SybStatement.nextResult(SybStatement.java:289) 
    at com.sybase.jdbc4.jdbc.SybStatement.nextResult(SybStatement.java:271) 
    at com.sybase.jdbc4.jdbc.SybStatement.queryLoop(SybStatement.java:2408) 
    at com.sybase.jdbc4.jdbc.SybStatement.executeQuery(SybStatement.java:2394) 
    at com.sybase.jdbc4.jdbc.SybPreparedStatement.executeQuery(SybPreparedStatement.java:257) 

就如何解決這個問題的任何建議??/

回答

0

它看起來像你的問題實在是太多了準備語句開放,相對於你的服務器上定義max_statement_count

做也只是把語句緩存關閉在C3P0,即確保如果你想語句緩存的性能優勢的C3P0性能maxStatementsmaxStatementsPerConnection設置爲0,確保maxStatements是最簡單的事情設置爲遠低於服務器端max_statement_count的值。您也可以通過將max_statement_count設置爲0來關閉「資源管理器」,儘管Sybase似乎不鼓勵這樣做。請參閱c3p0 docs re Statement caching

+0

是否有任何具體的原因,爲什麼它工作正常,當我使用jconn2但不工作時使用jconn4? – Prateek

+0

我不太瞭解Sybase的驅動程序(或後端)可以說。 –

+0

請參閱http://sqlanywhere-forum.sap.com/questions/25804/sql-anywhere-error-685-resource-governor-for-prepared-statements-exceeded –