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
原因是:上传文件所需内存大于数据库字段的最大内存限制
本文介绍了一个Java实现的将Excel文件导入DB2数据库的服务类。通过使用FileInputStream读取文件并将其作为二进制流插入数据库。同时讨论了当文件大小超过数据库字段最大限制时可能出现的问题。
2705

被折叠的 条评论
为什么被折叠?



