SQLLOAD數據的時候,建表給的字段給夠了,建表已經給到VHARCHAR2(1024)了,實際數據是VHARCHAR2(256).加載報錯"數據文件的字段超出最大長度"查了半天,發現問題在於,前人CTL文件為了圖方便,以
LOAD #
INFILE '#/aps_userlevel.txt'
PRESERVE BLANKS
INTO TABLE aps_userlevel
FIELDS TERMINATED BY "|"
TRAILING NULLCOLS
(
userlevel,
userlevelname,
renttype,
rentfee
)
INFILE '#/aps_userlevel.txt'
PRESERVE BLANKS
INTO TABLE aps_userlevel
FIELDS TERMINATED BY "|"
TRAILING NULLCOLS
(
userlevel,
userlevelname,
renttype,
rentfee
)
這種模式書寫,沒有在每個字段后面定義數據類型,碰到此種情況,Oracle默認為該字段為VARCHAR(255)[或者實際默認為CHAR(255)?]反正是小於256,后更改為
LOAD #
INFILE '#/aps_userlevel.txt'
PRESERVE BLANKS
INTO TABLE aps_userlevel
FIELDS TERMINATED BY "|"
TRAILING NULLCOLS
(
userlevel,
userlevelname,
renttype CHAR(1024),
rentfee
)
INFILE '#/aps_userlevel.txt'
PRESERVE BLANKS
INTO TABLE aps_userlevel
FIELDS TERMINATED BY "|"
TRAILING NULLCOLS
(
userlevel,
userlevelname,
renttype CHAR(1024),
rentfee
)
加載正常
