0

I used net.sourceforge.jtds.jdbc.Driver driver for write connection and com.sybase.jdbc3.jdbc.SybDriver for read connection with Sybase.

I replaced both with com.sybase.jdbc42.jdbc.SybDriver and now I on some operation I get exception

com.sybase.jdbc42.jdbc.SybSQLException: SQL Anywhere Error -188: Not enough values for host variables
        at com.sybase.jdbc42.tds.Tds.processEed(Tds.java:4230)
        at com.sybase.jdbc42.tds.Tds.nextResult(Tds.java:3347)
        at com.sybase.jdbc42.jdbc.ResultGetter.nextResult(ResultGetter.java:78)
        at com.sybase.jdbc42.jdbc.SybStatement.nextResult(SybStatement.java:308)
        at com.sybase.jdbc42.jdbc.SybStatement.nextResult(SybStatement.java:290)
        at com.sybase.jdbc42.jdbc.SybStatement.updateLoop(SybStatement.java:2793)
        at com.sybase.jdbc42.jdbc.SybStatement.executeUpdate(SybStatement.java:2777)
        at com.sybase.jdbc42.jdbc.SybPreparedStatement.executeUpdate(SybPreparedStatement.java:335)
        at org.apache.commons.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:136)
        at org.apache.commons.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:136)
        at my.package.MyClass...

I execute here multiple statements (7 statements) that in summary require 30 parameters. With remote debug I checked that all parameters are passed and there is no null values.

Some other queries to DB are executed successfully as with old drivers. I didn't find what is the difference between successful queries and this one that fails.

What could be a reason?

Igor_M
  • 308
  • 2
  • 12

0 Answers0