sqlldr : ORA-00911: недопустимый символ

я хочу импортировать CSV-файл. мой сценарий:

@echo off
set numid=2015092510524361378197540100
sqlldr USER@db/PSW data=csv\2015092510524361378197540100.csv control=ctl\control.ctl log=log\2015092510524361378197540100.log bad=bad\id.bad
pause 

моя таблица:

CREATE TABLE SV (NO1 VARCHAR2(255),NAMA VARCHAR2(255),ALAMAT VARCHAR2(255),id VARCHAR2(20),JAB VARCHAR2(50),numid VARCHAR(55));

мой control.ctl:

OPTIONS (SKIP=43, errors=12000) LOAD DATA  APPEND INTO TABLE sv when NAMA <> '' FIELDS TERMINATED BY ',' optionally enclosed by '"' TRAILING NULLCOLS (no filler,no1 "TRIM (:no1)",nama "TRIM (:nama)", alamat "TRIM (:alamat)",id "TRIM (:id)",jab "TRIM (:jab)",numid "%numid%")

ошибка:

Record 10: Rejected - Error on table sV, column numid.
ORA-00911: invalid character

пожалуйста, дайте мне знать, какой из них неправильный. Спасибо всем


person flyingbird013    schedule 27.10.2015    source источник
comment
Вы пропустили сам файл csv. Конкретно запишите 10. Числовой столбец. На самом деле я не знаю, что означают знаки процента вокруг numid в управляющем файле, но numid внутри них должен иметь впереди двоеточие.   -  person Gary_W    schedule 28.10.2015


Ответы (1)


Поскольку numid является VARCHAR2(55), измените тип данных таблицы на VARCHAR2, а управляющий файл на чтение:

numid "TRIM(:numid)"
person Gary_W    schedule 28.10.2015