`

将文件整个保存到DB2数据库BLOB字段

    博客分类:
  • DB2
 
阅读更多
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;

public class ExcelImportServiceImpl implements ExcelImportService {

	public void excelImport(String filePath) {
		Connection conn = null;
		PreparedStatement  ps = null;
		try{
			Class.forName("com.ibm.db2.jcc.DB2Driver");
			conn = DriverManager.getConnection("jdbc:db2://localhost:50000/xxx","username","password");
			ps = conn.prepareStatement("insert into aa.user(detail) values (?)");
			File file = new File(filePath);
			InputStream is = new FileInputStream(file);
			ps.setBinaryStream(1, is, (int)file.length());
			ps.executeUpdate();
		}catch(Exception e){
			e.printStackTrace();
		}finally{
			if(ps!=null){
				try{
					ps.close();
				}catch(Exception e){
					e.printStackTrace();
				}
			}
			if(conn!=null){
				try{
					conn.close();
				}catch(Exception e){
					e.printStackTrace();
				}
			}
		}
	}
	
}

 

如出现以下错误:

 

com.ibm.db2.jcc.am.co: DB2 SQL Error: SQLCODE=-302, SQLSTATE=22001, SQLERRMC=null, DRIVER=3.57.82

 

原因是:上传文件所需内存大于数据库字段的最大内存限制

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    如何将DB2数据库中的大对象(BLOB,CLOB)数据类型复制到Oracle数据库中

    本例中,我们讨论如何将DB2数据库中的BLOB数据类型复制到Oracle数据库。 1. **BLOB与CLOB数据类型**: BLOB(Binary Large Object)存储二进制大对象,如图像、音频或视频文件。CLOB(Character Large Object)...

    实现图片直接以blob的形式直接存入数据库

    存储时,使用PreparedStatement将二进制数据插入BLOB字段。读取时,同样使用SQL查询获取BLOB数据,再进行相应的处理。 5. 性能优化:大量图片存储在数据库可能导致性能问题,如查询慢、占用磁盘空间大。因此,可能...

    DB2数据库开发培训(一).pptx

    在DB2数据库开发中,了解和掌握其基本概念、数据类型、表和视图的创建与操作,以及INSERT、UPDATE、DELETE和SELECT等核心SQL语句至关重要。 1. **DB2概念介绍** - **表**:在DB2中,表是由多行和多列组成的结构,...

    多数据库的字段类型详解

    IBM的DB2数据库支持多种数据类型,如: - INTEGER:与SQL SERVER的INT类似。 - VARCHAR:与SQL SERVER的VARCHAR相似,最大长度可达32672个字符。 - DECIMAL:精确数值类型,允许指定精度和小数位数。 - ...

    DB2 LOB 详解

    首先,DB2中LOB字段的存储和处理过程是一门深奥的技术,它特别适用于在IBM Z平台上的DB2数据库。LOB数据类型指的是大型对象(Large Object),可以存储大文本文件、音频、视频、图片等非结构化数据。DB2支持的LOB...

    mybatis 对clob类型转换

    在处理CLOB类型时,MyBatis需要将Java对象中的String或Reader类型数据转换为CLOB,以便存储到数据库中。 1. **CLOB类型数据的插入** 当你需要将一个字符串或者Reader对象插入到CLOB字段时,MyBatis默认可能无法...

    IBM DB2通用数据库SQL入门

    3. DB2数据库对象: - 表:数据的结构化存储单元,由列和行组成。 - 视图:虚拟表,基于一个或多个表的查询结果。 - 索引:提高数据检索速度的特殊数据结构。 - 存储过程:预编译的SQL语句集合,可执行复杂操作...

    DB2数据库错误信息全面汇总

    ### DB2数据库错误信息全面汇总 #### 知识点概览 本文档旨在全面解析DB2数据库中的各类错误信息,涵盖了SQLCODE与SQLSTATE及其对应的错误描述。通过这些信息可以帮助DB2用户快速定位并解决问题。 #### 一、SQLCODE...

    DB2+DBA手册操作大全

    综上所述,DB2数据库的高效管理与优化涉及到多个层面,包括合理的数据库设计、数据类型的选用、索引的构建策略以及表空间的配置。DBA需要根据具体业务场景和性能需求,灵活运用这些知识,以确保数据库系统的稳定性和...

    Oracle和DB2的数据类型比较

    例如,在Oracle中存储的完整日期时间信息,在迁移到DB2/400时需要被拆分成DATE和TIME两个字段。 **解决方法**: - 使用Oracle中的`TO_DATE()`和`TO_CHAR()`函数来提取DATE类型的日期和时间部分,以便与DB2/400中的...

    Java对db2中大对象的操作

    在Java编程环境中,DB2数据库的大对象(LOB)操作是一个重要的主题,特别是对于那些处理大量非结构化数据,如图片、视频或者大型文本文件的开发者。大对象包括BLOB(Binary Large Object)和CLOB(Character Large ...

    Oracle与DB2数据类型分类对应说明

    Oracle 中的 NUMBER 类型可以对应 DB2/400 中的多种类型,这种对应关系要依赖于 Oracle 中 number 将用于保存何种类型的数据,是整型还是带有小数位的实型数据。例如,Oracle 中的 NUMBER 类型可以对应 DB2/400 中的...

    数据库db2相关错误码

    #### 一、DB2数据库错误码概览 DB2作为IBM开发的一款关系型数据库管理系统,在实际使用过程中可能会遇到各种各样的问题,这些问题通常会通过特定的错误码来进行标识。理解这些错误码对于快速定位问题原因、采取相应...

    DB2和ORACLE_应用开发差异比较

    例如,如果源数据中有日期时间信息,但在目标DB2数据库中只需要日期部分,可以通过Oracle的`TO_CHAR()`函数将日期时间格式化为仅包含日期的字符串,再加载到DB2的`TIMESTAMP`字段中。 ### 结论 DB2和Oracle在...

    DB2到GreenPlum/PostgreSQL的转换指南

    为了顺利地将DB2数据库迁移到GreenPlum或PostgreSQL,可以考虑使用以下工具: - **数据库迁移工具**:如IBM DB2 Migration Toolkit,它可以自动检测并报告DB2数据库中的对象,并提供转换建议。 - **脚本转换工具**:...

    Java数据类型与各数据库类型映射一览表

    Java数据类型与各数据库类型映射...本资源对于了解 Java 数据类型和数据库类型之间的映射关系非常有用,特别是在开发涉及到数据库交互的应用程序时。同时,本资源也可以作为数据库管理系统和 Java 开发相关的参考文献。

    IBM DB2通用数据库SQL入门.pdf

    ### IBM DB2通用数据库SQL入门知识点解析 #### 一、IBM DB2简介 IBM DB2是一种功能强大的关系型数据库管理系统(RDBMS),...这些知识点对于初学者来说是非常有价值的资源,有助于他们深入了解DB2数据库的使用方法。

    DB2 9 基础(730 考试)认证指南,第 3 部分

    在这个教程中,你将学习如何创建和管理DB2数据库,包括编目数据库以供其他用户使用,以及操作数据库内的各种对象。 首先,了解数据库的基本构成至关重要。DB2数据库由一组逻辑和物理对象组成,如表、视图、索引、...

Global site tag (gtag.js) - Google Analytics