Space 在sqlloader中被取为null

Space is taken as null in sqlloader

在我的数据文件中有

12345678  Vis1  
12345679  Vis2

在我的控制文件中

load data
Append
into table MY_TABLE    
TRAILING NULLCOLS
    (
    NBR position(1:8),
    COL1 position(9:11),
    NAME position(13:18)
    )

在数据库中,COL1 是一个非空字段。 sqllrd 因抛出消息

而失败
    Record 1: Rejected - Error on table "MY_SCHEMA"."MY_TABLE", column COL1.
    ORA-01400: cannot insert NULL into ("MY_SCHEMA"."MY_TABLE"."COL1")

这个问题有解决办法吗?

看来您需要 preserve blanks 选项。

以下更改将起到作用

load data
Append
PRESERVE BLANKS
into table MY_TABLE
TRAILING NULLCOLS
(
NBR position(1:8),
COL1 position(9:11),
NAME position(13:18)
)