Столбцы с подчеркиванием в Oracle SQL Loader - PullRequest
0 голосов
/ 20 ноября 2018

Я хочу загрузить данные в базу данных 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 Ответ

0 голосов
/ 20 ноября 2018

Привет Цитирование работает.

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: Попробуйте заключить в кавычки все имена столбцов, которые начинаются с подчеркивания.

...