最近由于需要做数据迁移,用到了kettle这个工具,由于api不多,开发过程非常艰难,最终也算是做出来了,以下贴上代码

具体流程很短,如上图所示,将数据库中数据查出来后使用java脚本将blob转换成文件流输出,java脚本代码如下
import javax.imageio.ImageIO;
import java.io.*;
import java.sql.Blob;
import java.sql.SQLException;
public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException {
Object[] r = getRow();
if (r == null) {
setOutputDone();
return false;
}
try {
String stationid = get(Fields.In, "STATIONID").getString(r);
output(getBytes(r,"STATIONPHOTO"),"sp"+stationid,"jpg");
output(getBytes(r,"STATIONREPORT"),"sr"+stationid,"doc");
output(getBytes(r,"STATIONPNTMAP"),"sm"+stationid,"jpg");
} catch (Exception e) {
e.printStackTrace();
}
return true;
}
public byte[] getBytes(Object[] r,String name) t