Если вы не упомянули, OPTIONALLY ENCLOSED BY '"'
-> SQLLDR
работает правильно.
См. Мой пример:
DDL
DROP TABLE TAB1;
CREATE TABLE TAB1 (
A VARCHAR2(100),
B VARCHAR2(100),
C VARCHAR2(100),
D VARCHAR2(100),
E VARCHAR2(100)
);
Tab1.txt
A B C D E
799 CP AM 27-12-2017
800 CP 18-05-2017
801 USA
Контрольный файл
LOAD DATA
INFILE 'tab1.txt'
BADFILE 'tab1.bad'
DISCARDFILE 'tab1.dsc'
REPLACE INTO TABLE TAB1
FIELDS TERMINATED BY X'9'
TRAILING NULLCOLS
(
A,B,C,D,E
)
SQLLDR исполнение
>sqlldr userid=tejash/***** control=tab1.ctl
SQL*Loader: Release 12.2.0.1.0 - Production on Tue Jul 2 11:43:33 2019
Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved.
Path used: Conventional
Commit point reached - logical record count 3
Commit point reached - logical record count 4
Table TAB1:
4 Rows successfully loaded.
Check the log file:
tab1.log
for more information about the load.
Данные в таблице TAB1
A B C D E
799 CP AM 27-12-2017
800 CP 18-05-2017
801 USA
![enter image description here](https://i.stack.imgur.com/O6Cg7.png)
Первая строка текстового файла - это просто заголовок, и если вы хотите пропустить заголовок, вам нужно будет использовать OPTIONS(skip=1)
в контрольном файле.