zoukankan      html  css  js  c++  java
  • 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         

    待续......

  • 相关阅读:
    IMX6ULL开发板虚拟机eVMware的安装
    IMX6ULL开发板Ubuntu系统初体验之登录设置
    itop4412开发板QtE4.7UVC摄像头使用例程
    iTOP4412开发板android4.4代码下载和编译
    IMX6ULL开发板之Ubuntu常用命令(二)
    IMX6ULL开发板aptget软件下载工具
    4412开发板编译ARMqtopiafreesrc2.2.0常见错误的处理
    IMX6ULL开发板虚拟机安装Ubuntu系统
    伟大的程序员是怎样炼成的?
    Created field method on datasource in AX Form
  • 原文地址:https://www.cnblogs.com/biehongli/p/10186048.html
Copyright © 2011-2022 走看看