我有以下数据
85566186; DATACONTRACT; 1; 0; -0.0235; 0.6361; 0.4448; 59; None; N; dnn_auc_0.650_acc_0.670_sensitivity_0.670_specificity_0.640.h5; 0.1 ;; 2020-01-26 00:00:00; 2020 -01-27 19:26:54; 18
我需要将其升华到以下Oracle表中:
CREATE TABLE DATAFOUNDATION.SHAPELY_SCORES_2
(
A INTEGER
, B VARCHAR2(1000)
, C NUMBER
, D VARCHAR2(1000)
, E NUMBER
, F NUMBER
, G NUMBER
, H INTEGER
, I VARCHAR2(4000)
, J VARCHAR2(16)
, K VARCHAR2(1000)
, L NUMBER
, M VARCHAR2(64)
, N DATE
, O DATE
, P INTEGER
)
;
我正在使用以下控制文件:
load data
INFILE 'shaply_test.txt'
INTO TABLE DATAFOUNDATION.SHAPELY_SCORES_2
INSERT
FIELDS TERMINATED BY ';'
TRAILING NULLCOLS
(
A INTEGER(8) nullif A= BLANKS,
B nullif B = BLANKS,
C DOUBLE nullif C= BLANKS,
D nullif D = BLANKS,
E INTEGER nullif E= BLANKS,
F FLOAT nullif F= BLANKS,
G FLOAT nullif G = BLANKS,
H FLOAT nullif H= BLANKS,
I nullif I= BLANKS,
J nullif J= BLANKS,
K nullif K = BLANKS,
L FLOAT nullif L= BLANKS,
M nullif M= BLANKS,
N TIMESTAMP 'YYYY-MM-DD hh24:mi:ss' nullif N = BLANKS,
O TIMESTAMP 'YYYY-MM-DD hh24:mi:ss' nullif O = BLANKS,
P INTEGER(8) nullif P = BLANKS)
但是我收到以下错误(抱歉,德语,但该消息易于翻译)
SQL * Loader:11.2.0.1.0版-2020年2月7日19:14:54正式生产
Spaltenname PositionLängTerm Eing Datentyp------------------------------ ---------- ----- ----- --- ---------------------前8位整数NULL wenn A =空白B NEXT *;字符空nn B =空白C下8个双NULL wenn C =空白D NEXT *;字符NULL wenn D =空白E NEXT 4整数NULL wenn E =空白F NEXT 4浮点数NULL wenn F =空白G NEXT 4 FLOATNULL wenn G =空白H NEXT 4 FLOATNULL wenn H =空白I NEXT *;字符NULL wenn I =空白J NEXT *;字符NULL wenn J =空白K NEXT *;字符空nn K =空白L下4个浮点数NULL wenn L =空白M NEXT *;字符NULL wenn M =空白N NEXT *;日期时间YYYY-MM-DD hh24:mi:ssNULL wenn N =空白O NEXT *;日期时间YYYY-MM-DD hh24:mi:ssNULL wenn O =空白P NEXT 8整数NULL wenn P =空白
Satz 1:Abgelehnt-Fehler在Tabelle DATAFOUNDATION.SHAPELY_SCORES_2,Spalte N.ORA-01841:(Volles)Jahr muss zwischen -4713und +9999 liegen und darf nicht 0 sein
Tabelle DATAFOUNDATION.SHAPELY_SCORES_2:0 Zeilen erfolgreichGeladen。 1 Zeile aufgrund von Datenfehlern nicht geladen。 0蔡琳尼赫拉·盖拉登(Nicht Geladen),当克劳瑟恩(Klauseln fehlerhaft)发出警告时。 0蔡琳nicht geladen,达·阿勒·费尔德(Nal Felder)空警告。
[Zugewiesener BereichfürBind-Array:134912字节(64Zeilen)字节在Lese-Puffer:1048576
[Gesamtzahl derübersprungenenlogischenDatensätze:0现在的日期:1历史档案馆日期:1出版日期:0
[Lauf begonnen am Fr Feb 07 19:14:54 2020 Lauf benedet am Fr Feb 0719:14:54 2020
[Abgelaufene Zeit:00:00:00.16 CPU-Zeit:00:00:00.04
有人可以告诉我我在做什么错吗?
我找到了解决方案。我的代码中有两个问题。第一个是我正在使用FLOAT / DOUBLE,但需要DECIMAL EXTERNAL(link)
第二个问题是十进制格式(总是带有区域设置)。我在每个十进制值列中添加了以下行:
"REPLACE(:column_name, '.', ',')"
例如C DECIMAL EXTERNAL nullif C =空白“ REPLACE(:C,'。',',')”,
:)。