中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

kettle使用文件導入到Postgresql出現亂碼的解決方法

發布時間:2020-07-31 11:20:36 來源:億速云 閱讀:226 作者:清晨 欄目:編程語言

小編給大家分享一下kettle使用文件導入到Postgresql出現亂碼的解決方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

kettle使用文件導入到Postgresql出現如下幾種問題的總結:

第一種錯誤,報錯如ERROR:  extra data after last expected column所示。或者報錯為報錯為0x05,多一列,extra data after last expected column。

sql查詢語句定位到某個字段:

SELECT * ),'%')

解決方法,使用空替代,原因是出現特殊字符,),這種字符,導致的錯誤。

解決方法如下所示:

 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(( + "", "");
     }
     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 * ),'%')

或者

 SELECT * ),'%')

解決方法:是字段的值出現了,換行回車,),)。)多一行,少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 * ),'%')

解決方法:

 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出現亂碼的解決方法有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

屯留县| 赤壁市| 中山市| 闵行区| 澄江县| 共和县| 镶黄旗| 天等县| 隆化县| 西林县| 惠来县| 成武县| 马关县| 华蓥市| 绥宁县| 长宁区| 千阳县| 罗城| 浦北县| 金昌市| 通渭县| 建水县| 二手房| 翁源县| 南雄市| 青川县| 台中市| 正宁县| 长沙县| 浮山县| 浦北县| 三都| 临沧市| 滦南县| 衡山县| 泗洪县| 牙克石市| 卫辉市| 莱阳市| 石阡县| 新余市|