私はクイック検索を行いましたが、このエラーは文字列でなければならない数値をロードしようとした結果であると言われていますか?私はアルファベットはありません。私は後ですべての列の最小値/最大値/平均値を求めるので、それらを文字列にする必要があります。Oracle SQL:挿入に失敗しましたORA-01722:無効な数値です。データは数値ではない文字列です。なぜ失敗しましたか?
エラー:列のための
--Insert failed for rows 1 through 50
--ORA-01722: invalid number
1 row of 23 columns of data (0's included):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です。私の父はdbの専門家です、私はちょうど学校/ dbの側でプログラミングを学んでいます。 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
またはワード・パスの後にそれを直接接続して、パスを置き換えますか?
2つの質問がありますが、私は本当にこのエラーを理解したいだけです。 2番目の質問は私です。
非常に感謝しています! – Chase
私はあまりにも早く話したと思います。コードを書いていなかったので、テーブルを右クリックしてインポートGUI上の「選択した列を追加」をクリックしていました。私はコードのコピーではなく、エラーの印刷物を貼り付けました。私は、提供されたソリューションを実行した後も同じエラーが発生します。 – Chase
テーブルの列のデータ型を確認します。すべての列がvarcharかnumberかです。すべての列がvarcharの場合、すべての図形を一重引用符で囲みます。また、このような挿入を許可するには、DEVICE_TIME列もデータ型dateでなければなりません。チェックアウト。 – XING