国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

SQL LOADER錯誤小結

2020-07-25 12:48:19
字體:
來源:轉載
供稿:網友

在使用SQL*LOADER裝載數據時,由于平面文件的多樣化和數據格式問題總會遇到形形色色的一些小問題,下面是工作中累積、整理記錄的遇到的一些形形色色錯誤。希望能對大家有些用處。(今天突然看到自己以前整理的這些資料,于是稍稍整理、歸納成這篇博客,后面如果碰到其他案例,會陸陸續續補充在此篇文章。)

ERROR 1:SQL*LOADER裝載數據成功,但是發現某些字段的中文為亂碼,這個是因為編碼緣故造成亂碼??稍诳刂莆募刑砑幼址幋a參數解決問題,

例如:CHARACTERSET 'ZHS16GBK' 或 CHARACTERSET 'UTF8',根據數據庫實際情況設置數據庫字符集。

LOAD DATACHARACTERSET 'ZHS16GBK' INFILE '/oradata/impdata/test.txt' APPEND INTO TABLE ETL.TESTFIELDS TERMINATED BY '@#$' TRAILING NULLCOLS(MON_CD      , CITY_ID     ,CELL_ID   ,GPRS_USER_CNT  ,TERM_BRAND    ,BRAND_ID     ,FLUX      ,CELL_NAM    ) 

ERROR 2:裝載數據時,報ORA-01722: invalid number錯誤(不是數據類型錯誤造成的一般錯誤。而是最后一個字段為NUMBER類型時,會報上述錯誤)因為換行符的問題,如果NUMBER類型的列位于表的最后,最后其實會有換行符(如果為/n,不會出錯, 如果為/r/n,則會報錯),在用SQLLDR導入時會把換行符也算作那個數字的一部分,從而出錯。解決辦法加INTEGER或者加“TERMINATED BY WHITESPACE”。

Record 1: Rejected - Error on table DM.TM_WGGHF_CELL_USER_DAY, column TYPE_ID.

ORA-01722: invalid number

注意:如果數據字段類型是NUMBER類型,則用INTEGER會導致裝載的數據異常,99.875000 會變成一個很大的整數。

ERROR 3:裝載數據時,由于里面有日期字段,需要添加日期函數處理特定格式的數據類型。否則會出現錯亂格式

LOAD APPEND INTO TABLE ODS.TO_ALARM_LOGFIELDS TERMINATED BY '@#$' TRAILING NULLCOLS(COLLECT_DT            ,DATE_CD              ,HR_CD               ,DISPH_LOST_REASON         ,COLLET_TYPE_ID           ,ALM_TM        "TO_DATE(:ALM_TM,'DD-MM-YYYY HH24:MI:SS', 'NLS_DATE_LANGUAGE=American')"       ,ALM_DISCOVER_TM    "TO_DATE(:ALM_DISCOVER_TM, 'DD-MM-YYYY HH24:MI:SS', 'NLS_DATE_LANGUAGE=American')"  ,ALARM_DELSTA_ID          ,ALM_RESUME_TM     "TO_DATE(:ALM_RESUME_TM, 'DD-MM-YYYY HH24:MI:SS', 'NLS_DATE_LANGUAGE=American')"   ,FP_ALM_SER            ,FP3_ALM_FINGMARK         ,AREA_NAM              ,VSEQUIP_NAM            ,VSEQUIP_STATUS_ID         ,VSEQUIP_SUBSTATUS_ID        ,PLAN_DISPH_TM     "TO_DATE(:PLAN_DISPH_TM, 'DD-MM-YYYY HH24:MI:SS', 'NLS_DATE_LANGUAGE=American')"   ,AUTO_PRETREAT_STATUS_ID      ,EMOS_RECORD_CNT          ,CONT_TIME             ,ALM_CNT         ) 

ERROR 4 如果數據文件里面缺少某些字段,可以在控制文件中添加常量參數,例如下面缺少COLLECT_DT這個字段的數據(其實是根據數據文件以及某些參數生成的),可以通過CONSTANT常量參數解決。

LOAD DATACHARACTERSET 'UTF8'INFILE 'DEVICE_WIRELESS_GSMCELL_F_20120130190002.CSV' "str '/r/n'"APPEND INTO TABLE STAGE.TS_RSRC_IRMS_GSMCELLFIELDS TERMINATED BY ','OPTIONALLY ENCLOSED BY '/'' TRAILING NULLCOLS(    COLLECT_DT CONSTANT   '20120214',          CELL_ID           ,   CELL_NAM           ,    FULL_NAM            ,    OTHER_NAM  ,    OMC_CELL_NAM          ,    GROUP_NAM         ,    GROUP_NAM_EN         ) 

  ERROR 5 如果換行是WINDOW平臺的格式(即/r/n, LINUX平臺是以/n),如下圖所示(用vi編輯器查看)

LOAD DATAINFILE 'EDS.TW_BUSS_GN_CELLFLUX_HR4.csv' "str '/r/n'"APPEND INTO TABLE EDS.TW_BUSS_GN_CELLFLUX_HR_TEST        FIELDS TERMINATED BY ',' TRAILING NULLCOLS (  DATE_CD    ,    HR_CD      ,    LAC_ID      ,   CELL_ID    ,    BUSI_TYP1_CD   ,    BUSI_TYP2_CD   ,   CITY_ID     ,    CELL_NAM     ,  UP_FLUX     ,   DOWN_FLUX    ,    VSD_CNT     ,   CI     ) 

ERROR 6 數據文件請見附件TEST.csv,數據文件中某個字段的值內部有換行符,加載數據時,想保持數據原樣,即數據入庫后,數據里面保存有換行。此時可以通過"str '/r/n'"解決問題。

如下所示,數據文件TEST.csv只有兩行數據,每一條記錄中第二個字段都存在換行。

12,"這僅僅是

測試"

14,"數據有

換行"

LOAD DATAINFILE 'TEST.csv' "str '/r/n'"APPEND INTO TABLE TESTFIELDS TERMINATED BY ','OPTIONALLY ENCLOSED BY '"' TRAILING NULLCOLS(ID   ,NAME  )

ERROR 7 : 字段長度超過255

SQLLDR默認輸入的字段長度為255個字符。如果某個字段的字符長度超過255,而且你在控制文件里面,沒有指定其字符長度,則會報下面錯誤:SQL Loader- Field in data file exceeds maximum length

ERROR 8 : SQL*Loader-510 & SQL*Loader-2026

這個是我遇到的一個特殊例子,SQLLDR裝載日志錯誤如下:

SQL*Loader-510: Physical record in data file (/jkfile/DAD_CDR/TEMP/201207/EDS.TW_CUST_COSTCELL_HR_07.dat) is longer than the maximum(20971520)SQL*Loader-2026: the load was aborted because SQL Loader cannot continue.

因為這個EDS.TW_CUST_COSTCELL_HR_07.dat文件37G,剛開始搜索了很多資料,也沒有解決問題,其實最后發現時數據文件FTP拷貝傳送時損壞的緣故。

ERROR 9:SQL*Loader-605 & ORA-01653

ORA-01653: unable to extend table tablename by 128 in tablespace xxxxSQL*Loader-605: Non-data dependent ORACLE error occurred -- load discontinued.

出現這個錯誤是因為表所在表空間無法擴展,導致SQL*LOADER裝載數據無法插入。要給用戶對應的表空間擴展空間

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 财经| 贵南县| 西安市| 神农架林区| 上高县| 什邡市| 元阳县| 柳河县| 红河县| 玉树县| 礼泉县| 二手房| 长武县| 吴堡县| 菏泽市| 柳河县| 昭通市| 昌都县| 蓝山县| 东安县| 天峻县| 淅川县| 大港区| 霍邱县| 双流县| 和政县| 栾城县| 宁安市| 桐城市| 海门市| 富裕县| 五常市| 准格尔旗| 容城县| 泽库县| 南通市| 东源县| 当雄县| 泾川县| 镇沅| 论坛|