kettle使用文件导入到Postgresql出现如下几种问题的总结
1、kettle使用文件导入到Postgresql出现如下几种问题的总结:
kettle使用文件导入到Postgresql出现如下几种问题的总结:
、第一种错误,报错如ERROR: extra data after last expected column所示。或者报错为报错为0x05,多一列,extra data after last expected column。
)、sql查询语句定位到某个字段:
SELECT * from 数据表名称 where 字段名称 like CONCAT('%',char(),'%')
)、解决方法,使用空替代,原因是出现特殊字符,char(),这种字符,导致的错误。
解决方法如下所示:
public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException {
Object[] r = getRow(); if (r == null) {
setOutputDone();
return false;
} // It is always safest to call createOutputRow() to ensure that your output row’s Object[] is large
// enough to handle any new fields you are creating in this step.
r = createOutputRow(r, data.outputRowMeta.size()); String 字段名称 = get(Fields.In, "字段名称").getString(r);
if(字段名称 != null) {
字段名称 = 字段名称.replaceAll((char) + "", "");
}
get(Fields.Out, "字段名称").setValue(r, 字段名称); // Send the row on to the next step.
putRow(data.outputRowMeta, r); return true;
} 、第二种错误,报错如missing data for column "datastamp"。
)、sql查询语句定位到某个字段:
SELECT * from 数据表名称 where 字段名称 like CONCAT('%',char(),'%')
或者
SELECT * from 数据表名称 where 字段名称 like CONCAT('%',char(),'%')
)、解决方法:是字段的值出现了,换行回车,char(),char()。char()多一行,少n列,missing data column xxx。解决方法,使用字符替代,然后再替换回来。
解决方法如下所示:
public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException {
Object[] r = getRow(); if (r == null) {
setOutputDone();
return false;
} // It is always safest to call createOutputRow() to ensure that your output row’s Object[] is large
// enough to handle any new fields you are creating in this step.
r = createOutputRow(r, data.outputRowMeta.size()); String 字段名称 = get(Fields.In, "字段名称").getString(r);
if(字段名称 != null) {
字段名称 = 字段名称.replaceAll("\\r", "@#r;");
字段名称 = 字段名称.replaceAll("\\n", "@#n;");
}
get(Fields.Out, "字段名称").setValue(r, 字段名称); // Send the row on to the next step.
putRow(data.outputRowMeta, r); return true;
} 、第三种错误,报错如,0x00的解决方法:
)、sql查询语句定位到某个字段:
SELECT * from 数据表名称 where 字段名称 like CONCAT('%',char(),'%')
)、解决方法1
public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException {
Object[] r = getRow(); if (r == null) {
setOutputDone();
return false;
} // It is always safest to call createOutputRow() to ensure that your output row’s Object[] is large
// enough to handle any new fields you are creating in this step.
r = createOutputRow(r, data.outputRowMeta.size()); // Get the value from an input field
String 字段名称 = get(Fields.In, "字段名称").getString(r); if(字段名称 != null) {
字段名称= 字段名称.replaceAll("\\u0000", "");
} get(Fields.Out, "字段名称").setValue(r, 字段名称); // Send the row on to the next step.
putRow(data.outputRowMeta, r); return true;
}
待续......
kettle使用文件导入到Postgresql出现如下几种问题的总结的更多相关文章
- 【开发者笔记】利用shp2pgsql将shape文件导入到postgresql中
导入shp文件到postgresql中 1.首先,你需要让shp2pgsql命令可用,百度下载,加入环境变量即可. 下载地址:https://download.osgeo.org/postgis/wi ...
- 将csv格式的数据文件导入/导出数据库+添加新的字段
最近一直忙于实验室的事情,没有好好更新博客,在抓包的过程中,遇到了很多问题. 因为我常用Wireshark将抓包信息导出为csv文件,这里简单mark一下将csv文件导入/导出到数据库的2种方法: 一 ...
- 【Kettle】Java借助Kettle将Excel导入数据
示例功能(仅供测试): 在JAVA项目中,将数据从Excel文件导入数据库中.实现该能有多种方法,而本例则是“不走寻常路”,尝试借助Kettle实现数据导入. 原理: Java中调用存储在Kettle ...
- java中调用kettle转换文件
java中调用kettle转换文件 通过命令行也能够调用,然后java中调用命令行代码也能够.这样没有和java代码逻辑无缝集成.本文说明kettle5.1中假设通过其它API和java代码无缝集成: ...
- 按照TYPE的文件导入导出功能
/** * 导入文件Action;*/private File excelFile;// 保存原始文件名private String excelFileFileName;// 保存原始文件名priva ...
- 将.dat文件导入数据库
*最近在搞文本分类,就是把一批文章分成[军事].[娱乐].[政治]等等. 但是这个先需要一些样本进行训练,感觉文本分类和"按图索骥"差不多,训练的文章样本就是"图&quo ...
- 怎样将多个CSS文件导入一个CSS文件中
问题: 在HTML中引入css的其中的两个方法: 导入式和链接式的目的都是将一个独立的css文件引入一个文件中,二者的区别不大,事实上,二者最大的区别在于链接式使用html的标记引入外部css文 ...
- 将DBF文件导入Sqlserver数据库
项目中的问题:用户选择N个dbf文件导入sql2005数据库,由于每年dbf表结构都在变化,所以在sql2005中根本就不存在,需要每年根据dbf的结构自动建表.(文章来自http://blog.cs ...
- [转载]将别人的项目或JAVA文件导入到自己的Eclipse中时,常常会出现JAVA文件的中文注释变成乱码的情况,解决办法
eclipse 代码中文注释乱码 求解决 将别人的项目或JAVA文件导入到自己的Eclipse中时,常常会出现JAVA文件的中文注释变成乱码的情况,主要原因就是别人的IDE编码格式和自己的Eclips ...
随机推荐
- 一键分享代码(提供能分享到QQ空间、新浪微博、人人网等的分享功能)
<html> <head></head> <body> <div class="xl_2"> <span styl ...
- 二、IIS部署WebApi
一.项目发布 二.hosts 更改 C:\Windows\System32\drivers\etc 三.网站搭建 之后我将端口默认更改 8001 以防与80端口冲突 注意: 1.先测试IIS的lo ...
- Angular 框架下ng-repeat内部使用tooltip插件的办法
普通情况下 <button type="button" class="btn btn-default" data-toggle="tooltip ...
- springboot- logback 可切换不同环境
在resources下新建一个logback文件夹和一个logback.xml logback.xml <?xml version="1.0" encoding=" ...
- bzoj 3223: Tyvj 1729 文艺平衡树 (splay)
链接: https://www.lydsy.com/JudgeOnline/problem.php?id=3223 题面: 3223: Tyvj 1729 文艺平衡树 Time Limit: 10 S ...
- badboy安装及使用
badboy下载 下载地址:http://www.badboy.com.au/download/index 直接点击[continue] badboy安装 badboy录制 默认是录制状态 访问sog ...
- mysql数据库建表的基本规范
1.创建表的时候必须指定主键,并且主键建立后最好不要再有数据修改的需求 mysql从5.5版本开始默认使用innodb引擎,innodb表是聚簇索引表,也就是说数据通过主键聚集( 主键下存储该行的数据 ...
- Linux常用硬盘分区工具简介
1.fdisk 查看当前硬盘分区: [root@yqtrack-zabbix /]# fdisk -l 2.cfdisk 查看当前硬盘分区: 3.sfdisk 查看当前分区: 4.parted 查看当 ...
- 图解Tomcat类加载机制(阿里面试题)
Tomcat的类加载机制是违反了双亲委托原则的,对于一些未加载的非基础类(Object,String等),各个web应用自己的类加载器(WebAppClassLoader)会优先加载,加载不到时再交给 ...
- DirectX11 With Windows SDK--12 深度/模板状态、平面镜反射绘制
前言 深度/模板测试使用的是与后备缓冲区同等分辨率大小的缓冲区,每个元素的一部分连续位用于深度测试,其余的则用作模板测试.两个测试的目的都是为了能够根据深度/模板状态需求的设置来选择需要绘制的像素. ...