1、kettle使用文件导入到Postgresql出现如下几种问题的总结:

 1 kettle使用文件导入到Postgresql出现如下几种问题的总结:
 2 1、第一种错误,报错如ERROR:  extra data after last expected column所示。或者报错为报错为0x05,多一列,extra data after last expected column。
 3 1)、sql查询语句定位到某个字段:
 4     SELECT * from 数据表名称 where 字段名称 like CONCAT('%',char(5),'%')
 5 2)、解决方法,使用空替代,原因是出现特殊字符,char(5),这种字符,导致的错误。
 6 解决方法如下所示:
 7 public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException {
 8     Object[] r = getRow();
 9
10     if (r == null) {
11     setOutputDone();
12     return false;
13     }
14
15     // It is always safest to call createOutputRow() to ensure that your output row’s Object[] is large
16     // enough to handle any new fields you are creating in this step.
17     r = createOutputRow(r, data.outputRowMeta.size());
18
19     String 字段名称 = get(Fields.In, "字段名称").getString(r);
20     if(字段名称 != null) {
21         字段名称 = 字段名称.replaceAll((char)5 + "", "");
22     }
23     get(Fields.Out, "字段名称").setValue(r, 字段名称);
24
25     // Send the row on to the next step.
26     putRow(data.outputRowMeta, r);
27
28     return true;
29 }
30
31 2、第二种错误,报错如missing data for column "datastamp"。
32 1)、sql查询语句定位到某个字段:
33     SELECT * from 数据表名称 where 字段名称 like CONCAT('%',char(10),'%')
34     或者
35     SELECT * from 数据表名称 where 字段名称 like CONCAT('%',char(13),'%')
36 2)、解决方法:是字段的值出现了,换行回车,char(10),char(13)。char(10)多一行,少n列,missing data column xxx。解决方法,使用字符替代,然后再替换回来。
37 解决方法如下所示:
38 public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException {
39     Object[] r = getRow();
40
41     if (r == null) {
42     setOutputDone();
43     return false;
44     }
45
46     // It is always safest to call createOutputRow() to ensure that your output row’s Object[] is large
47     // enough to handle any new fields you are creating in this step.
48     r = createOutputRow(r, data.outputRowMeta.size());
49
50     String 字段名称 = get(Fields.In, "字段名称").getString(r);
51     if(字段名称 != null) {
52         字段名称 = 字段名称.replaceAll("\\r", "@#r;");
53         字段名称 = 字段名称.replaceAll("\\n", "@#n;");
54     }
55     get(Fields.Out, "字段名称").setValue(r, 字段名称);
56
57     // Send the row on to the next step.
58     putRow(data.outputRowMeta, r);
59
60     return true;
61 }
62
63 3、第三种错误,报错如,0x00的解决方法:
64 1)、sql查询语句定位到某个字段:
65     SELECT * from 数据表名称 where 字段名称 like CONCAT('%',char(0),'%')
66 2)、解决方法1
67 public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException {
68     Object[] r = getRow();
69
70     if (r == null) {
71     setOutputDone();
72     return false;
73     }
74
75     // It is always safest to call createOutputRow() to ensure that your output row’s Object[] is large
76     // enough to handle any new fields you are creating in this step.
77     r = createOutputRow(r, data.outputRowMeta.size());
78
79     // Get the value from an input field
80     String 字段名称 = get(Fields.In, "字段名称").getString(r);
81
82     if(字段名称 != null) {
83         字段名称= 字段名称.replaceAll("\\u0000", "");
84     }
85
86     get(Fields.Out, "字段名称").setValue(r, 字段名称);
87
88     // Send the row on to the next step.
89     putRow(data.outputRowMeta, r);
90
91     return true;
92 }
93         

待续......

kettle使用文件导入到Postgresql出现如下几种问题的总结相关推荐

  1. 【kettle】文件导入数据库乱码

    这个是因为输入的文件编码方式和入库的编码方式不一致. 文件编码方式为UTF8 数据库也配置为UTF8 characterEncoding UTF8

  2. SketchUp 2019 文件导入AI的两种方法(附插件)

    作者:TutorialsUp 今天与大家分享TutorialsUp教程 将SketchUp文件导入AI的两种方法 作者通过两种方式,完美地将SU文件导入AI进行编辑. 第一种方法是SketchUp原生 ...

  3. shp文件导入postgresql数据库

    目录 1.打开postgis postgis bundle 2.点击view connection details连接数据库 3.点击option:编码为LATIN1->点击import 选择s ...

  4. 云服务器如何导入文件,如何将文件导入云服务器中

    如何将文件导入云服务器中 内容精选 换一换 华为云帮助中心,为用户提供产品简介.价格说明.购买指南.用户指南.API参考.最佳实践.常见问题.视频帮助等技术文档,帮助您快速上手使用华为云服务. 华为云 ...

  5. 如何将mysql5的sql文件导入到mysql4?

    1.将mysql5里导出的sql文件导入到mysql5中. 2.用mysqldump -uroot -p1234 --opt --compatible=mysql40 -A -re:/localhos ...

  6. 如何将mysql文件导入MySQL_如何将mysql5的sql文件导入到mysql4?

    1.将mysql5里导出的sql文件导入到mysql5中. 2.用mysqldump -uroot -p1234 --opt --compatible=mysql40 -A -re:/localhos ...

  7. 测试使用navicat工具将MySQL格式SQL文件导入到MogDB数据库

    点击上方"蓝字" 关注我们,享更多干货! 前言 当我们想把mysql格式的SQL文件导入到MogDB数据库时,我们可以借助navicat工具,先将SQL文件导入到mysql数据库中 ...

  8. Spark获取CSV文件导入ClickHouse

    Spark获取CSV文件导入ClickHouse 环境配置 POM文件 ClickHouser创建临时表 数据库连接工具类(Scala版) 获取csv使用工具类导入ClickHouse(重点) 线上运 ...

  9. 使用虚拟机VMwarepro1623镜像文件导入部署openGauss3.1.1指导手册

    使用虚拟机VMwarepro1623镜像文件导入部署openGauss3.1.1指导手册 (openEuler 20.03-LTS + openGauss 3.1.1) 本手册主要描述如何将现有的VM ...

最新文章

  1. Android无法访问本地服务器(localhost)的解决方案
  2. hdu3665 水最短路
  3. 【Groovy】集合声明与访问 ( 使用 [] 创建 ArrayList 和 LinkedList 集合 | 集合赋初值 | 使用下标访问集合 | 使用 IntRange 作为下标访问集合 )
  4. 关于Spring事务tx:annotation-driven/的理解(Controller可以使用@Transactional)
  5. Nginx内核参数相关的优化设定
  6. 这本造价500万的“黑科技”日历,用377张爆美插画给你365天理想生活
  7. javascript 数字精度问题
  8. python箴言_Python高效率编程的8条箴言
  9. 一张图诠释Git所有命令
  10. python画正方形的代码drawingpanel_wxpython编程之 画板(一个不错的研究的完整示例)...
  11. ubuntu 14.04 修改PS1提示符
  12. C++并发与多线程(三)单例设计模式与共享数据分析、call_once、condition_variable使用
  13. JS编程:查找数组元素位置
  14. WPS/Word参考文献格式规范及引用的方法
  15. mysql重复查询最后一条数据_sql查询表里重复记录现取重复最后一条记录方法
  16. 新兴基金经理凯瑟琳·伍德ARKK基金在 2022 年初遭受新的打击
  17. 编程初学者入门训练-KiKi和酸奶
  18. 聊一聊DDR3中的ODT(On-die termination)
  19. CCF 201912-5 魔数 满分题解
  20. 课堂纪律一团糟老师应该怎么办?

热门文章

  1. jdbc basedao mysql_Java使用JDBC连接mysql、sqlserver、orcle数据库的baseDao类
  2. python爬考研_用Python爬取了考研吧1000条帖子,原来他们都在讨论这些!
  3. composer全局 linux_Linux下全局安装composer方法
  4. python中保留一位小数要怎么编程_Python保留指定位数的小数
  5. oracle装一半报错要卸掉,OpenSUSE下oracle11gR2的安装卸载
  6. centos mysql-dev_CentOS7 安装 mysql
  7. uml系统设计期末大作业_梳理一下计算机期末大作业
  8. 平台如何限制ip流量_社区团购平台如何通过地推获得更多流量?
  9. 前端aes加密_前端安全攻防解析
  10. java正则匹配买火车票_matlab的正则表达式