[ niktza @ 02.11.2007. 03:49 ] @
Pozdrav.

Napominjem da koristim sve najnovije verzije svega navedenog... Java JRE 1.6.0, MySQL 5.1, Tomcat 6.0, Servlete 2.4...

Kada pokusam preko servleta uploadati sliku u bazu kao BLOB na sljedeci nacin (sve je tocno inicjalizirano..):

Code:

PreparedStatement prestmt = konekcija.prepareStatement("INSERT INTO slikatest(sifra , slika) VALUES (? , ?)");
pstmt.setString(1, SifraSlike);
pstmt.setBlob(2, StreamSlike); // <-- problematicni redak
pstmt.executeUpdate();


dobijem sljedeci error (excpetion):

java.lang.AbstractMethodError:org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.setBlob(ILjava/io/InputStream;)V


Java API 6.0 kaze da se taj error dobiva (sto je ocito i po nazivu same iznimke) kada se pri run-timeu pokusa pozvati abstract metoda. To moze znaciti da verzija MySQLa ne ide sa navedenim verzijama ostalih alata - tj. da navedena metoda nije implementirana tocno - pa me zanima zna li netko kompatibilne verzije navedenih alata - u slucaju da je problem u pretpostavljenom. Ako nije, bio bi zahvalan ako bi netko objasnio u cemu jest...

Hvala.
[ misk0 @ 02.11.2007. 09:45 ] @
Ti pishes Java kod i pozivas metodu koja je abstract - ne mozes je koristiti u takvom obliku vec moras naci implementaciju te metode sa odredjenim funkcionalnistima. Mislim da to nema veze sa mySQL i verzijama. Abstract je samo 'kostur' metode i on nema nikakvu implementaciju - ne radi nista, samo stoji kao definicija za nasledjivanje.

[ niktza @ 02.11.2007. 14:43 ] @
Citat:

Ti pishes Java kod i pozivas metodu koja je abstract - ne mozes je koristiti u takvom obliku vec moras naci implementaciju te metode sa odredjenim funkcionalnistima. Mislim da to nema veze sa mySQL i verzijama. Abstract je samo 'kostur' metode i on nema nikakvu implementaciju - ne radi nista, samo stoji kao definicija za nasledjivanje.


...znam :)

ali posao je jdbc drivera od mysql-a (connector J-a) da implementira takve stvari cim ga importam u /lib od tomcata i da pozivom abstract jdbc metoda, zapravo pozivam implementirane connector-J metode za interakciju s mysql-om.

[ zigizig @ 05.11.2007. 08:46 ] @
Code:
pstmt.setBlob(2, StreamSlike); // <-- problematicni redak


Konvertuj StreamSlike u byte[]
pstmt.setBytes(2,"ovde treba da bude byte[]");
[ niktza @ 09.11.2007. 10:07 ] @
zigzig, hvala puno.

pozdrav.