java - insert blob data in to database -


think have little problem code: when try insert in database value recived 1 error.

ps: try use :

  1. setbinarystream(int parameterindex, inputstream x) - data read inputstream needed until end-of-file reached. added in jdbc 4.0 (java 1.6).

  2. setbinarystream(int parameterindex, inputstream x, int length) - data read inputstream needed "length" bytes.

  3. setbinarystream(int parameterindex, inputstream x, long length) - data read inputstream needed "length" bytes. added in jdbc 4.0 (java 1.6).

but everytime recived simple error. don t know doing ..... m code monkey...

this class:

public class dataservlet extends httpservlet{     public void dopost(httpservletrequest  request,httpservletresponse response)throws servletexception,ioexception {          connection conn = connectiontodb.connettidb();                           inputstream inputstream = null;                  part filepart = request.getpart("image");          inputstream = filepart.getinputstream();                     try{              string sql = "insert blob (data) values (?)";              preparedstatement statement = conn.preparestatement(sql);                             if (inputstream != null) {                     // fetches input stream of upload file blob column                  statement.setblob(1, inputstream);                 }                  // sends statement database server                 int row = statement.executeupdate();                 if (row > 0) {                     system.out.println( "file uploaded , saved database");                 }          } catch (sqlexception ex) {              system.out.println( "error: " + ex.getmessage());             ex.printstacktrace();}     } } 

this error message:

         com.mysql.jdbc.exceptions.jdbc4.mysqlsyntaxerrorexception: have error in sql syntax; check manual corresponds      mysql server version right syntax use near 'blob      (data) values (_binary'‰png           \0\0\0          ihdr\0\0\0\0\0\0\0\0\0;0®¢\0\' @ line 1             @ sun.reflect.nativeconstructoraccessorimpl.newinstance0(native method)             @ sun.reflect.nativeconstructoraccessorimpl.newinstance(unknown source)             @ sun.reflect.delegatingconstructoraccessorimpl.newinstance(unknown      source)             @ java.lang.reflect.constructor.newinstance(unknown source)             @ com.mysql.jdbc.util.handlenewinstance(util.java:411)             @ com.mysql.jdbc.util.getinstance(util.java:386)             @ com.mysql.jdbc.sqlerror.createsqlexception(sqlerror.java:1052)             @ com.mysql.jdbc.mysqlio.checkerrorpacket(mysqlio.java:3609)             @ com.mysql.jdbc.mysqlio.checkerrorpacket(mysqlio.java:3541)             @ com.mysql.jdbc.mysqlio.sendcommand(mysqlio.java:2002)             @ com.mysql.jdbc.mysqlio.sqlquerydirect(mysqlio.java:2163)             @ com.mysql.jdbc.connectionimpl.execsql(connectionimpl.java:2624)             @ com.mysql.jdbc.preparedstatement.executeinternal(preparedstatement.java:2127)             @ com.mysql.jdbc.preparedstatement.executeupdate(preparedstatement.java:2427)             @ com.mysql.jdbc.preparedstatement.executeupdate(preparedstatement.java:2345)             @ com.mysql.jdbc.preparedstatement.executeupdate(preparedstatement.java:2330)             @ com.cvmanagement.src.servlet.dataservlet.dopost(dataservlet.java:69)             @ javax.servlet.http.httpservlet.service(httpservlet.java:646)             @ javax.servlet.http.httpservlet.service(httpservlet.java:727)             @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:303)             @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:208)             @ org.apache.tomcat.websocket.server.wsfilter.dofilter(wsfilter.java:52)             @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:241)             @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:208)             @ org.apache.catalina.core.standardwrappervalve.invoke(standardwrappervalve.java:220)             @ org.apache.catalina.core.standardcontextvalve.invoke(standardcontextvalve.java:122)             @ org.apache.catalina.authenticator.authenticatorbase.invoke(authenticatorbase.java:503)             @ org.apache.catalina.core.standardhostvalve.invoke(standardhostvalve.java:170)             @ org.apache.catalina.valves.errorreportvalve.invoke(errorreportvalve.java:103)             @ org.apache.catalina.valves.accesslogvalve.invoke(accesslogvalve.java:950)             @ org.apache.catalina.core.standardenginevalve.invoke(standardenginevalve.java:116)             @ org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:421)             @ org.apache.coyote.http11.abstracthttp11processor.process(abstracthttp11processor.java:1070)             @ org.apache.coyote.abstractprotocol$abstractconnectionhandler.process(abstractprotocol.java:611)             @ org.apache.tomcat.util.net.jioendpoint$socketprocessor.run(jioendpoint.java:314)             @ java.util.concurrent.threadpoolexecutor.runworker(unknown source)             @ java.util.concurrent.threadpoolexecutor$worker.run(unknown source)             @ org.apache.tomcat.util.threads.taskthread$wrappingrunnable.run(taskthread.java:61)             @ java.lang.thread.run(unknown source) 

my initial assessment bug in driver wrong. problem use of unquoted word blob in query. blob reserved word , therefor needs quoted when used object name.

i'd expect work if change query to:

string sql = "insert `blob` (data) values (?)"; 

Comments

Popular posts from this blog

java - Oracle EBS .ClassNotFoundException: oracle.apps.fnd.formsClient.FormsLauncher.class ERROR -

c# - how to use buttonedit in devexpress gridcontrol -

nvd3.js - angularjs-nvd3-directives setting color in legend as well as in chart elements -