JDBC executeUpdate(String, int) method
I've just started to use Mulesoft Anypoint Studio to connect an Advantage based system to a customers webservices portal. I have the latest JDBC 184.108.40.206 loaded and I can read data from the database OK. But I can't write anything into it which causes me a great headache.
Support at Mulesoft have told me "Looking at your stacktrace, the java.lang.AbstractMethodError would indicate that the executeUpdate(String, int) method is not implemented in the ADSStatement class. The JDK 7 javadoc indicates that this method was added in JDK 1.4 so it might be that the Advantage JDBC is too old for use with Mule."
Does that sound correct and, if so, is there a version of JDBC which will allow me to write to the database ?
Edgar Sherman replied
It's hard to say exactly what is correct. Your last questions has two answers.
The ADS JDBC driver does support executeUpdate(string) See: http://devzone.advantagedatabase.com/dz/WebHelp/Advantage11.1/index.html?jdbc_statement_object.htm
However, that is different than the executeUpdate(String, int). I suspect that Mulsoft is correct in that this newer method has not been implemented. As I understand the 1.0 and 2.0 methods were implemented and all was tested with 1.3. I suspect there has not yet been demand for the newer 1.4 methods.
I would recommend to open a feature request at http://feedback.advantagedatabase.com/
As to your question, the driver is fully capable of updating data, I guess it just depends on what functions you can use, if you are limited to this particular software package or if you can write your own code. For example, as stated above executeUpdate(string) is supported so that is an option.