`
ldsjdy
  • 浏览: 151528 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

java+mysql存储图片或其它大对象到数据库时的两个问题

    博客分类:
  • Jdbc
阅读更多
1、当图片文件超过1M的时候,出错如下:

JDBC错误:Packet for query is too large (1298910 > 1048576). You can change this value on the server by setting the max_allowed_packet' variable.

这是因为mysql默认一个包最大1M,需要修改my.ini

max_allowed_packet = 10M
如文件大小为10的话 max_allowed_packet应该设为两倍以上,否则还是会出现上面的异常
修改方法:
1)my-large.ini 中将 max_allowed_packet = 1M(默认为1M)设置为max_allowed_packet = 10M
2)将max_allowed_packet = 10M复制到my.ini中的
[mysqld]

# The TCP/IP Port the MySQL Server will listen on
port=3306
max_allowed_packet = 10M

3)修改配置文件后要重启mysql服务

2、图片文件的写入时候遇到

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: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

以前可直接运行的程序,后来数据库换了就不能运行,上面的错误提示是参数类型不匹配,在网上查了一下,应该是数据库字符集的类型的问题(现在字符集是gbk),
将ps.setBinaryStream(2,inputStream,file.length());
改为ps.setBytes(2, buf);直接存byte就可以了,


sql="INSERT INTO blobtest(b_title,b_text)VALUES(?,?)";


ps.setString(1, file.getName());
//新建一byte数组
byte[] buf=new byte[inputStream.available()];
//将文件读入到byte[]中
inputStream.read(buf);
ps.setBytes(2, buf);
ps.executeUpdate();
分享到:
评论

相关推荐

    Java+mysql本地图片上传数据库及下载示例

    在Java编程中,将本地图片上传到MySQL数据库以及从数据库下载图片是一项常见的任务,尤其在构建Web应用时。本文将详细解析如何实现这个过程,并基于给出的代码进行讲解。 首先,我们需要在数据库中创建一个用于存储...

    仿QQ聊天系统(JAVA+MYSQL)

    综上所述,"仿QQ聊天系统(JAVA+MYSQL)"是一个综合性的项目,涵盖了从后端数据库设计到前端界面开发的诸多技术细节,对开发者的要求较高,需要具备扎实的Java编程基础,熟悉MySQL数据库操作,以及一定的UI设计能力...

    网上书店(java+mysql)

    【标题】"网上书店(java+mysql)"项目是一个典型的基于Java编程语言和MySQL数据库的Web应用程序,旨在提供一个全面的在线图书管理解决方案。这个系统不仅涵盖了书籍的库存管理、销售,还包括用户注册、购物车功能...

    java实现本地读取图片存储到数据库中并在html网页显示

    在本文中,我们将深入探讨如何使用Java实现在本地读取图片并将其存储到数据库中,之后再通过HTML页面显示这些图片。这个过程涉及到的主要技术包括Java编程、数据库操作(特别是MySQL)以及前后端交互。 首先,我们...

    Java+MySql图片数据保存与读取的具体实例

    在开发Web应用时,我们经常需要处理用户上传的图片数据,并将其存储到数据库中以便后续访问和展示。本文将详细探讨使用Java与MySQL实现图片数据的保存与读取的实例。 首先,我们要理解图片数据的两种常见存储方式:...

    查询mysql数据库中的二进制图片数据,并全部显示出来

    在MySQL数据库中存储二进制大对象(BLOB)数据,如图片,是常见的做法,因为这种方式便于管理和检索。在本示例中,我们将探讨如何查询包含二进制图片数据的MySQL数据库,并通过JSP(JavaServer Pages)展示这些图片...

    Mysql数据库中存取图片的Java实现.pdf

    MySQL 数据库中存取图片的 Java 实现可以通过两种方式实现:一种是将图片单独存放在固定文件夹里,数据库表中对应的字段仅保存该图片的路径和名字 ;另一种是先对图片进行编码,再将编码后的数据写到数据库表中,...

    java存取图片到数据库

    首先,需要添加对应的数据库驱动到项目中,如MySQL的`mysql-connector-java`。然后,通过`DriverManager.getConnection()`方法建立连接,并创建`Statement`或`PreparedStatement`对象来执行SQL语句。 4. 图片存入...

    java+mysql中保存图片及显示上传的图片struts+hibernate.docx

    为了方便地将图片数据持久化到MySQL数据库,可以使用Hibernate框架进行ORM(对象关系映射)。需要为图片实体创建相应的`*.hbm.xml`映射文件,并在实体类中定义相应的属性。 #### 七、总结 本文档详细介绍了如何...

    java+mysql 基于浏览器的即时聊天源代码

    "java+mysql 基于浏览器的即时聊天源代码"这个标题揭示了我们正在讨论一个使用Java编程语言和MySQL数据库构建的实时聊天应用。这种应用允许用户通过浏览器进行交流,无需下载安装客户端,提高了使用的便捷性。 ...

    struts2+jdbc实现图片的存储与显示(图片存储在数据库内)

    在本项目"struts2+jdbc实现图片的存储与显示(图片存储在数据库内)"中,我们将探讨如何结合这两个技术来处理图片数据,将图片存储到数据库内,并从数据库中检索以供显示。 首先,我们需要了解在数据库中存储图片的...

    将图片存到数据库 mysql 项目 demo

    本项目“将图片存到数据库 mysql 项目 demo”提供了一个实际操作的示例,演示如何将图片数据直接存储到MySQL数据库中,这对于那些需要在线存储和访问图片的应用来说尤其有用。下面我们将深入探讨这个主题,详细介绍...

    数据库图片的存储和读取

    另一种方式是存储图片的文件路径或URL,将图片实际存储在文件系统中,这可以减轻数据库的压力,但需要处理文件系统的同步问题。 在数据库中存储图片的具体步骤如下: 1. **编码**:图片通常以JPEG、PNG或GIF等格式...

    图书管理系统(java+sql).zip

    3. **src**:这是存放源代码的目录,通常分为两部分:`src/main/java`用于存放Java源代码,而`src/main/resources`可能包含了数据库连接配置、静态资源(如图片、样式表、JavaScript文件)或其他非Java的资源文件。...

    jsp操作mysql数据库的blob字段

    在这个场景中,我们关注的是如何使用Java Server Pages(JSP)来操作MySQL数据库中的Blob(Binary Large Object)字段,这是一个用于存储大容量二进制数据如图片、文档或音频文件的特殊字段类型。以下是关于这个主题...

    Java存取数据库中的图片.rar_JAVA数据库_java 数据库_图片 java_图片数据库_数据库 图片

    在存储图片时,图片数据通常被转换为二进制格式,因为大多数数据库系统不支持直接存储图片文件。Java中的`java.io`包提供了`FileInputStream`和`FileOutputStream`等类用于读写文件,`BufferedInputStream`和`...

    基于ssm+mysql的编程类在线答题系统源码数据库.zip

    标题中的“基于ssm+mysql的编程类在线答题系统源码数据库”表明这是一个使用Java SSM框架(Spring、SpringMVC、MyBatis)和MySQL数据库开发的在线编程答题平台的源代码和数据库资源。这个系统可能适用于教育、培训...

    java servlet+jsp+mysql开发的网上书城.rar

    【描述】"java servlet+jsp+mysql开发的网上书城"简明扼要地指出项目的核心技术,即使用Java Servlet作为服务器端处理逻辑,JSP(Java Server Pages)负责前端展示,并借助MySQL存储和管理书籍数据。这种架构是Web...

    100010316-基于Java+MySQL实现(Web)文件共享管理系统(仿照百度文库).zip

    【标题】中的“100010316-基于Java+MySQL实现(Web)文件共享管理系统(仿照百度文库)”指的是一个使用Java编程语言和MySQL数据库技术开发的Web应用程序,其功能类似于知名的在线文档分享平台——百度文库。...

    java将图片写入数据库,并读出来(blob clob)

    这个过程通常涉及到Blob和Clob数据类型,它们是Java中的两种特殊对象,用于存储大对象(LOB)。Blob用于存储二进制数据,如图片、音频或视频文件,而Clob则用于存储字符数据,比如长文本。以下是如何使用Java处理...

Global site tag (gtag.js) - Google Analytics