您好我正在尝试将一些数据加载到我创建的Oracle表中
这是我在Vivek架构中创建的表格
Desc STAR
Name NULL TYPE
-----------------------------------------------------
STAR_ID Not Null Number(4)
FIRST_NAME Varchar2(30)
LAST_NAME Varchar2(30)
DOB Date
SEX Char(1)
Nationality Varchar2(40)
Alive Char(1)
以下是我尝试使用SQL Loader
上传的STAR5.CSV文件中的数据10,NASEERUDDIN,SHAH,M,INDIAN,Y
11,DIMPLE,KAPADIA,F,INDIAN,Y
控制文件如下
load data
infile '/home/oracle/host/Vivek12/STAR_DATA5.csv'
append
into table vivek.STAR
fields terminated by ","
( STAR_ID,FIRST_NAME,LAST_NAME,SEX,NATIONALITY,ALIVE )
当我使用以下命令运行SQL Loader时
$ sqlldr vivek/password
control = /home/oracle/sqlldr_add_new.ct1
我收到消息:
达到提交点 - 逻辑记录计数2
但是,未加载数据并将其放入文件STAR5.bad
知道数据没有被加载的原因吗?
答案 0 :(得分:1)
你最有可能在你的行尾有一个“隐形”字符。也许您在Linux上执行此操作并且该文件是在Windows上创建的,因此您需要额外的回车 - Linux仅使用换行作为行终止符。
更改您的ctl文件以删除终止空格:
load data
infile '/home/oracle/host/Vivek12/STAR_DATA5.csv'
append
into table vivek.STAR
fields terminated by ","
( STAR_ID
, FIRST_NAME
, LAST_NAME
, SEX
, NATIONALITY
, ALIVE terminated by whitespace
)
如果这不起作用,那么您将需要弄清楚那些字符和replace它们。