我进行了快速搜索,有人说这个错误是由于尝试加载应该是字符串的数值而导致的?我没有字母字符。我稍后会找到所有列的最小/最大/平均值,所以我需要它们是字符串。
错误:
--插入第 1 行到第 50 行失败
--ORA-01722:
23 列数据的第 1 行无效(包括 0):25:33.5 - - - - - -1.23 6.56 6.93 0 - - - - - 998.26 - - - - - - - 183.2 2.35 - 840 - - - - - - 1.56 -1.56 0 - - 0 - - - - - - - - 0 84.2 - 47.97 - - - - - - - - - - - 0.81 0.48 - - - - - 0 11.37 4.5 -10.05 - - 13.3
对于列:
INSERT INTO CAR_LOGS (DEVICE_TIME, GX, GY, GZ, G_CALIBRATE, BAROMETER, ENGINE_COOL, ENGINE_LOAD, ENGINE_RPM, FUEL_TRIM_BANK1_LONG, FUEL_TRIM_BANK1_SENSOR1, FUEL_TRIM_BANK1_SENSOR2, FUEL_TRIM_BANK1_SHORT, GPS_VS_OBD_SPEED_DIFF, AIR_INTAKE_TEMP, MASS_AIR_FLOW_RATE, O2_VOLTS_BANK1_SENSOR1, O2_VOLTS_BANK1_SENSOR2, SPEED, THROTTLE_POSITION, TIMING_ADVANCE, TURBO_BOOST_VACUUM_GUAGE, VOLTAGE)
VALUES (27-Sep-2016 19:25:33.467,-1.23,6.56,6.93,-0.0,998.26,183.2,2.35,840.0,1.56,-1.56,0.0,0.0,0.0,84.2,47.97,0.81,0.48,0.0,11.37,4.5,-10.05,13.3);
我在这个文件中有 8k 行数据,当然所有这些数据都失败了。我对sql相当陌生。我父亲是数据库专家,我只是在学校/数据库学习编程。使用 Oracle SQL,我尝试将 csv 文件直接导入表并正确选择列。
另外,我有 20 个文件……对于新手如何以同样的方式加载它们有什么建议吗?
我发现:
LOAD
DATA
cd path
cat file*.csv > all_files.csv
APPEND INTO TABLE TBL_DATA_FILE
EVALUATE CHECK_CONSTRAINTS
REENABLE DISABLED_CONSTRAINTS
EXCEPTIONS EXCEPTION_TABLE
FIELDS TERMINATED BY ","
OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS
(
COL0,
COL1,
COL2,
COL3,
COL4
);
我是否将路径替换为
C:\Users\c_thu\Desktop\Database\CarLogsSEPT.2016
还是直接附在路径后面?
我猜有两个问题,但我真的只想弄清楚这个错误。第二个问题是嗯。