kettle使用文件导入到Postgresql出现如下几种问题的总结
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出现如下几种问题的总结相关推荐
- 【kettle】文件导入数据库乱码
这个是因为输入的文件编码方式和入库的编码方式不一致. 文件编码方式为UTF8 数据库也配置为UTF8 characterEncoding UTF8
- SketchUp 2019 文件导入AI的两种方法(附插件)
作者:TutorialsUp 今天与大家分享TutorialsUp教程 将SketchUp文件导入AI的两种方法 作者通过两种方式,完美地将SU文件导入AI进行编辑. 第一种方法是SketchUp原生 ...
- shp文件导入postgresql数据库
目录 1.打开postgis postgis bundle 2.点击view connection details连接数据库 3.点击option:编码为LATIN1->点击import 选择s ...
- 云服务器如何导入文件,如何将文件导入云服务器中
如何将文件导入云服务器中 内容精选 换一换 华为云帮助中心,为用户提供产品简介.价格说明.购买指南.用户指南.API参考.最佳实践.常见问题.视频帮助等技术文档,帮助您快速上手使用华为云服务. 华为云 ...
- 如何将mysql5的sql文件导入到mysql4?
1.将mysql5里导出的sql文件导入到mysql5中. 2.用mysqldump -uroot -p1234 --opt --compatible=mysql40 -A -re:/localhos ...
- 如何将mysql文件导入MySQL_如何将mysql5的sql文件导入到mysql4?
1.将mysql5里导出的sql文件导入到mysql5中. 2.用mysqldump -uroot -p1234 --opt --compatible=mysql40 -A -re:/localhos ...
- 测试使用navicat工具将MySQL格式SQL文件导入到MogDB数据库
点击上方"蓝字" 关注我们,享更多干货! 前言 当我们想把mysql格式的SQL文件导入到MogDB数据库时,我们可以借助navicat工具,先将SQL文件导入到mysql数据库中 ...
- Spark获取CSV文件导入ClickHouse
Spark获取CSV文件导入ClickHouse 环境配置 POM文件 ClickHouser创建临时表 数据库连接工具类(Scala版) 获取csv使用工具类导入ClickHouse(重点) 线上运 ...
- 使用虚拟机VMwarepro1623镜像文件导入部署openGauss3.1.1指导手册
使用虚拟机VMwarepro1623镜像文件导入部署openGauss3.1.1指导手册 (openEuler 20.03-LTS + openGauss 3.1.1) 本手册主要描述如何将现有的VM ...
最新文章
- Android无法访问本地服务器(localhost)的解决方案
- hdu3665 水最短路
- 【Groovy】集合声明与访问 ( 使用 [] 创建 ArrayList 和 LinkedList 集合 | 集合赋初值 | 使用下标访问集合 | 使用 IntRange 作为下标访问集合 )
- 关于Spring事务tx:annotation-driven/的理解(Controller可以使用@Transactional)
- Nginx内核参数相关的优化设定
- 这本造价500万的“黑科技”日历,用377张爆美插画给你365天理想生活
- javascript 数字精度问题
- python箴言_Python高效率编程的8条箴言
- 一张图诠释Git所有命令
- python画正方形的代码drawingpanel_wxpython编程之 画板(一个不错的研究的完整示例)...
- ubuntu 14.04 修改PS1提示符
- C++并发与多线程(三)单例设计模式与共享数据分析、call_once、condition_variable使用
- JS编程:查找数组元素位置
- WPS/Word参考文献格式规范及引用的方法
- mysql重复查询最后一条数据_sql查询表里重复记录现取重复最后一条记录方法
- 新兴基金经理凯瑟琳·伍德ARKK基金在 2022 年初遭受新的打击
- 编程初学者入门训练-KiKi和酸奶
- 聊一聊DDR3中的ODT(On-die termination)
- CCF 201912-5 魔数 满分题解
- 课堂纪律一团糟老师应该怎么办?
热门文章
- jdbc basedao mysql_Java使用JDBC连接mysql、sqlserver、orcle数据库的baseDao类
- python爬考研_用Python爬取了考研吧1000条帖子,原来他们都在讨论这些!
- composer全局 linux_Linux下全局安装composer方法
- python中保留一位小数要怎么编程_Python保留指定位数的小数
- oracle装一半报错要卸掉,OpenSUSE下oracle11gR2的安装卸载
- centos mysql-dev_CentOS7 安装 mysql
- uml系统设计期末大作业_梳理一下计算机期末大作业
- 平台如何限制ip流量_社区团购平台如何通过地推获得更多流量?
- 前端aes加密_前端安全攻防解析
- java正则匹配买火车票_matlab的正则表达式