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 ...
随机推荐
- Python中的 一些常用技巧函数[.join()]
1.str.join(item)字符串操作函数,参数item可以是字符串.元组.字典,示例 ','.join('abc') [','.join('abc')] 输出: 'a,b,c'['a', 'b' ...
- python之旅九【第九篇】socket
什么是socket 建立网络通信连接至少要一对端口号(socket).socket本质是编程接口(API),对TCP/IP的封装,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket ...
- python发送smtp 邮件 图片
#-*- coding: utf-8 -*- # python2 import os import time import random import smtplib from time import ...
- Magento2 API 服务合同设计模式 依赖注入 介绍
公共接口和API 什么是公共界面? 一个公共接口是一组代码,第三方开发者可以调用,实现或构建一个 插件 .Magento保证在没有重大版本更改的情况下,此代码在后续版本中不会更改. 模块的公共接口 标 ...
- opencv-python下简单KNN分类识别
KNN是数据挖掘中一种简单算法常用来分类,此次用来聚类实现对4种花的简单识别. 环境:python2.7+opencv3.0+windows10 原理:在使用KNN函数提取出4种花特征点以后,对需要辨 ...
- 实战Google深度学习框架-C3-TensorFlow入门
第三章:TensorFlow入门 TensorFlow存在计算模型,数据模型和运算模型(本文用TF代表TensorFlow) 3.1 计算模型-计算图 3.1.1 计算图的概念 TensorFlow这 ...
- CMDB资产管理系统开发【day26】:admin action
本节目标 审核写到数据库,我就单独写一个如下的 页面 单机go后就跳转到如下图界面,我们这节课的目标就是写一个这样的页面 asset\admin.py部分代码 注释如下: class NewAsset ...
- CMDB资产管理系统开发【day26】:实现资产自动更新
1.需求分析 1.比对分析 比对的时候以那个数据源为主? old [1,2,3 ] db数据库 new [2,3,4 ] 客户端汇报过来的 当然以客户端汇报过来的数据为主 2.更新分析 不同的表到底拿 ...
- 【转载】 C++之split字符串分割
https://blog.csdn.net/mary19920410/article/details/77372828
- WEB内容换行
word-wrap:break-word 单词间换行 word-break:break-all 单词内也可以换行 white-space属性指定元素内的空白怎样处理 normal 默认.空白会被浏览器 ...