2017-04-21 8 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に対するオープンあまりにも多くのプリペアドステートメント、であるように見えます。

だけmaxStatementsがあることを確認して、すなわち、C3P0で文キャッシュをオフにしますが、文キャッシュのパフォーマンス上の利点をしたい場合はC3P0プロパティmaxStatementsmaxStatementsPerConnectionが0に設定されていることを確認するだろう最も簡単な方法サーバ側よりも大幅に低い値に設定してください。max_statement_countまた、max_statement_countをゼロに設定することで、「リソースガバナー」をオフにすることもできますが、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を参照してください。 –