Столбцы с подчеркиванием в Oracle SQL Loader
Я хочу загрузить данные в базу данных Oracle через SQL Loader. Вот мой контрольный файл. Я вырезал среднюю часть, чтобы не слишком долго..
OPTIONS (BINDSIZE=512000, ROWS=10000)
LOAD DATA
CHARACTERSET UTF8
APPEND
INTO TABLE EIDESWTDOC
FIELDS TERMINATED BY '~'
OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS (
MANDT CHAR(6)"NVL(:MANDT,' ')"
, SWITCHNUM CHAR(40)"NVL(:SWITCHNUM,' ')"
, POD CHAR(44)"NVL(:POD,' ')"
, SWITCHTYPE "NVL(:SWITCHTYPE, 0.0)"
, OWNER CHAR(20)"NVL(:OWNER,' ')"
, SWTVIEW "NVL(:SWTVIEW, 0.0)"
, MOVEINDATE DATE 'YYYY-MM-DD'
, MOVEOUTDATE DATE 'YYYY-MM-DD'
.....
, SP_INITIATOR CHAR(20)"NVL(:SP_INITIATOR,' ')"
, _IDEXGE_NONFIXED CHAR(2)"NVL(:_IDEXGE_NONFIXED,' ')"
, _IDEXGE_MRPERIO CHAR(4)"NVL(:_IDEXGE_MRPERIO,' ')"
)
Из-за столбцов, начинающихся с подчеркивания, я получаю синтаксическую ошибку (недопустимая комбинация не буквенно-цифровых символов). Я уже пытался процитировать его, но ничего не работает. У кого-нибудь есть решение этой проблемы?
С наилучшими пожеланиями, Крис
1 ответ
Решение
Привет Цитирование, кажется, работает.
desc temp ;
Name Null? Type
--------- ----- -------------
FIRSTNAME VARCHAR2(255)
_Address VARCHAR2(255)
Контрольный файл
LOAD DATA
APPEND INTO TABLE TEMP
FIELDS TERMINATED BY ','
(FirstName CHAR,
"_Address" CHAR)
Журнал выполнения
$ sqlldr ***/*** control="/home/venkat/Desktop/sqlLoader/load.ctl" data = "/home/venkat/Desktop/sqlLoader/data.txt"
SQL*Loader: Release 11.2.0.2.0 - Production on Wed Nov 21 00:59:36 2018
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
Commit point reached - logical record count 2
Но всякий раз, когда я пытаюсь без цитирования, получаю ту же ошибку, о которой вы сообщили
Контрольный файл
LOAD DATA
APPEND INTO TABLE TEMP
FIELDS TERMINATED BY ','
(FirstName CHAR,
_Address CHAR)
Журнал выполнения
$ sqlldr ***/*** control="/home/venkat/Desktop/sqlLoader/load.ctl" data = "/home/venkat/Desktop/sqlLoader/data.txt"
SQL*Loader: Release 11.2.0.2.0 - Production on Wed Nov 21 01:05:23 2018
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
SQL*Loader-350: Syntax error at line 5.
Illegal combination of non-alphanumeric characters
_Address CHAR)
^
PS: попробуйте указать все имена столбцов, которые начинаются с подчеркивания.