mysql数据库字段类型longblob,字符集gbk,hibernate映射blob,上传成功率跟文件大小类型是否中文无关,ssh框架,这2行是从页面取得上传文件并保存
gonggao.setFj(Hibernate.createBlob(fileForm.getFileContent()
.getFileData()));
zwglDAO.saveOrUpdate(gonggao);
以下是上传文件失败所报的异常,很郁闷org.springframework.jdbc.BadSqlGrammarException: Hibernate operation: Could not execute JDBC batch update; bad SQL grammar [update zlsqws.hainan_gonggao set bt=?, nr=?, sj=?, cjdw=?, cjr=?, fj=?, fjwjm=?, cjrId=? where id=?]; nested exception is java.sql.BatchUpdateException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?*?.?2?ì\0\0\0\0\0\0\0\0?ì\0\0\0\0\0\0\0\0\0\0\0\0?&?????????' at line 1
java.sql.BatchUpdateException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?*?.?2?ì\0\0\0\0\0\0\0\0?ì\0\0\0\0\0\0\0\0\0\0\0\0?&?????????' at line 1
at com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:1269)
at com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.java:955)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.logicalcobwebs.proxool.ProxyStatement.invoke(ProxyStatement.java:100)
at org.logicalcobwebs.proxool.ProxyStatement.intercept(ProxyStatement.java:57)
at $java.sql.Statement$$EnhancerByProxool$$562d711d.executeBatch()
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:58)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:195)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:235)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:297)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:985)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:333)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
at org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:584)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:500)
gonggao.setFj(Hibernate.createBlob(fileForm.getFileContent()
.getFileData()));
zwglDAO.saveOrUpdate(gonggao);
以下是上传文件失败所报的异常,很郁闷org.springframework.jdbc.BadSqlGrammarException: Hibernate operation: Could not execute JDBC batch update; bad SQL grammar [update zlsqws.hainan_gonggao set bt=?, nr=?, sj=?, cjdw=?, cjr=?, fj=?, fjwjm=?, cjrId=? where id=?]; nested exception is java.sql.BatchUpdateException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?*?.?2?ì\0\0\0\0\0\0\0\0?ì\0\0\0\0\0\0\0\0\0\0\0\0?&?????????' at line 1
java.sql.BatchUpdateException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?*?.?2?ì\0\0\0\0\0\0\0\0?ì\0\0\0\0\0\0\0\0\0\0\0\0?&?????????' at line 1
at com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:1269)
at com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.java:955)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.logicalcobwebs.proxool.ProxyStatement.invoke(ProxyStatement.java:100)
at org.logicalcobwebs.proxool.ProxyStatement.intercept(ProxyStatement.java:57)
at $java.sql.Statement$$EnhancerByProxool$$562d711d.executeBatch()
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:58)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:195)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:235)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:297)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:985)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:333)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
at org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:584)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:500)
解决方案 »
- 急!!!!opensymphony.xwork2.ActionSupport 问题
- response怎么转送数组
- mysql java 中文乱码
- hibernate中一对多查询的问题啊,我实在搞不定了,请高手解决啊!
- 请教大神itext怎么将现有的PDF转换缩放大小
- 请教:跑EJB3.0中的例子时遇到的JNDI问题
- 各位帮忙看看Jbuilderx+jboss2.2.5的问题,哎!顺便发点牢骚。
- 在DEBUG ENTITY BEAN 客户端的时候提示以下错误信息,请高手指点!
- 为何在让数据库的结果集可滚动时,显示的中文数据却为乱码???
- android点击原图获取服务器端的大图,后台怎么压缩
- Tomcat报错
- 用hibernate进行多对一关联报错,没有baidu解决的办法。纠结。
2.其它上传文件通常不会上传到数据库里面去,这样会拖怕数据库的性能,所以我建议上传到本地硬盘上,你如果想在页面上显示,你可以通过一个<img src="images/...">这个的字符串来引用数据库里面的字符串,就可以显示啊!!!!
<property name="fj" type="binary" >
<column name="fj" />
</property>
private byte[] fj;
解决
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
新问题
byte[] buf = gonggao.getFj();
fos = new FileOutputStream("d:\\xxx\\" + gonggao.getFjwjm(), true);
fos.write(buf);
fos.flush();
fos.close();保存完文件后弹出一个ie对话框,“无法打开该internet站点,请求站点不可用或找不到”云云,如何把这个提示去了