下面的ctl文件代码由tab分隔,所以我正在尝试下面的代码,但它显示:
5由于数据错误而未加载行。它没有通过sql loader加载到表中
OPTIONS ( ERRORS=405737, SILENT=(ERRORS))
LOAD DATA
INFILE '/home/maliprat/public/RDDH_Extracts/AMER_20171215_EQUITY_ISSUE.dat'
APPEND
INTO TABLE ENCORE_APP.TEMP_RDDH_RAW_DATA_ISSUE
**FIELDS TERMINATED BY X'9'**
TRAILING NULLCOLS
(
ISSUE_UBSID "TRIM(:ISSUE_UBSID)",
TEST2 FILLER,
ISSUE_ASSETCLASS "TRIM(:ISSUE_ASSETCLASS)",
ISSUE_ASSETTYPE "TRIM(:ISSUE_ASSETTYPE)",
ISSUE_SECURITYTYPE "TRIM(:ISSUE_SECURITYTYPE)",
我的输入文件如下:
issue.ubsId issue.majorVersion issue.assetClass issue.assetType issue.securityType issue.active issue.lastUpdatedTime event.majorVersion event.lastUpdatedTime issue.status issue.isoCfi issue.isin issue.nominalCurrency issue.nominalValueOfUnit issue.issueName issue.regSInd issue.rule144AInd issue.securityFormType
issue.bbSecurityType issue.cusip issue.common issue.cins issue.valoren issue.wertpapier issue.ubsTradable issue.restrictedListCode issue.restrictedOffTime issue.restrictedOnTime
0200200307 13 EQUITY STOCK Common Stock 1 20171203120808000 15 20171203120810000 ACTIVE ES---- SE0005994001 XXX -9999.0 RLS GLOBAL PAID SUB -9999 -9999 UNKNOWN Common Stock 107404309
W7753D159 24542360 -9999 -9999 -9999
-9999 -9999.0 -9999.0 -9999 -9999.0 -9999
-9999 0 SS KA -9999 2 -9999.0 -9999 -9999 -9999 -9999 -9999 4 20150316054137973 0 -9999 -9999 0 -9999 0 0 -9999 9668256 2735465 -9999.0 -9999 -9999 -9999.0 -9999.0 -9999 -9999 -9999.0
那么找到问题的关键在于日志和坏文件..在使用如下语法执行sqlldr命令时:
sqlldr user/pass control=ctlfilepath/ctlfilename log=logfilepath/logfilename bad=badfilepath/badfilename
在这种情况下,日志文件将包含错误的描述,而坏文件将包含被拒绝的行。
有关更多信息,请尝试在终端输入sqlldr
,然后按Enter键查看并了解所有选项的说明。
你也可以查看document。