Oracle SQL Loader中带前导下划线的列
我想通过SQL Loader在Oracle数据库中加载数据。 这是我的控制文件。我剪掉了中间的部分,因为它不太长Oracle SQL Loader中带前导下划线的列,oracle,sql-loader,controlfile,Oracle,Sql Loader,Controlfile,我想通过SQL Loader在Oracle数据库中加载数据。 这是我的控制文件。我剪掉了中间的部分,因为它不太长 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(:M
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,' ')"
)
由于列以下划线开头,我得到一个语法错误(非字母数字字符的非法组合)。
我已经试着引用了,但没有任何效果。有人能解决这个问题吗
致以最诚挚的问候,Chris,Hi Quoting似乎有效。
控制文件
LOAD DATA
APPEND INTO TABLE TEMP
FIELDS TERMINATED BY ','
(FirstName CHAR,
"_Address" CHAR)
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
$ 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)
^
但每当我尝试不引用时,我得到的错误与你报告的完全相同
控制文件
LOAD DATA
APPEND INTO TABLE TEMP
FIELDS TERMINATED BY ','
(FirstName CHAR,
"_Address" CHAR)
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
$ 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:尝试引用所有以下划线开头的列名。问题是指NVL()函数中的列:
“NVL(:\u IDEXGE\u NONFIXED,”)”
谢谢!完全忘记在NVL函数中引用列。。。现在可以了。