我目前在将.CSV文件加载到Oracles SQL数据库时遇到问题
我正在使用SQLLDR
我有一个excel文件,里面有很多股票信息我会给你一个样子的样本
Tdate Symbol Open High Low Close Volume
19500103 SPX 16.66 16.66 16.66 16.66 1260000
19500104 SPX 16.85 16.85 16.85 16.85 1890000
19500105 SPX 16.93 16.93 16.93 16.93 2550000
.CSV文件中的Tdate,symbol,open,high,low,close和volume isnt我只是把它放在那里因为我的数据库表将在这些名称下保存这些值。
我在Sql Developer中创建了我的表
create table cts ( tdate date, symbol varchar(20), open numeric ( 18,8), high numeric (18,8), low ( numeric 18,8), close numeric (18,8) , volume int ) ;
然后我打开了一个记事本文件并创建了这个
LOAD Data infile c:\cts.dump.csv
进入表CTS
fields terminated by "," optionally enclosed by '"'
( tdate, symbol, open, high, low , close, volume)
我将它保存为文件夹c:\ data
中的loaderval.ctl然后我继续打开我的cmd窗口并输入
sqlldr username/password control=c:\data\loaderval.ctl
我收到64条线已经提交,这是不可能的,因为该文件有大量的数据。然后我检查我的数据库,表是空的。 我还收到一个.bad文件,.bad文件包含excel表格前几行的记录
( 19500103,SPX,16.66,16.66,16.66,16.66,1260000
19500104,SPX,16.85,16.85,16.85,16.85,1890000
19500105,SPX,16.93,16.93,16.93,16.93,2550000
19500106,SPX,16.98,16.98,16.98,16.98,2010000
19500109,SPX,17.08,17.08,17.08,17.08,2520000
19500110,SPX,17.03,17.03,17.03,17.03,2160000
19500111,SPX,17.09,17.09,17.09,17.09,2630000
19500112,SPX,16.76,16.76,16.76,16.76,2970000
19500113,SPX,16.67,16.67,16.67,16.67,3330000
19500116,SPX,16.72,16.72,16.72,16.72,1460000
19500117,SPX,16.86,16.86,16.86,16.86,1790000
19500118,SPX,16.85,16.85,16.85,16.85,1570000
19500119,SPX,16.87,16.87,16.87,16.87,1170000
19500120,SPX,16.90,16.90,16.90,16.90,1440000
19500123,SPX,16.92,16.92,16.92,16.92,1340000
19500124,SPX,16.86,16.86,16.86,16.86,1250000
19500125,SPX,16.74,16.74,16.74,16.74,1700000
19500126,SPX,16.73,16.73,16.73,16.73,1150000
19500127,SPX,16.82,16.82,16.82,16.82,1250000
19500130,SPX,17.02,17.02,17.02,17.02,1640000
19500131,SPX,17.05,17.05,17.05,17.05,1690000
19500201)
请帮助:)
答案 0 :(得分:0)
查看代码似乎日期列可能是这里的罪魁祸首。您可以在下面查看如何处理sql loader日期的链接
https://oracle-base.com/articles/12c/sql-loader-enhancements-12cr1
ck