Gần đây, tôi đã gặp phải sự cố tương tự khi tải dữ liệu vào bảng của mình qua tệp csv. Tệp của tôi trông giống như sau:
LOAD DATA
infile '/ipoapplication/utl_file/LBR_HE_Mar16.csv'
REPLACE
INTO TABLE LOAN_BALANCE_MASTER_INT
fields terminated by ',' optionally enclosed by '"'
(
ACCOUNT_NO,
CUSTOMER_NAME,
LIMIT,
REGION,
TERM_AGREEMENT INTEGER EXTERNAL
)
Và như bạn đã đề cập, tôi vẫn nhận được cùng một lỗi 'số không hợp lệ'Trả ra, điều này thường xảy ra - khi kiểu dữ liệu cột của bạn là Số nhưng dữ liệu bạn nhận được từ tệp csv của mình ở dạng chuỗi, vì vậy trình tải oracle không thực hiện chuyển đổi chuỗi thành số. - khi trường của bạn trong tệp csv bị kết thúc bởi một số dấu phân cách, chẳng hạn như dấu cách, tab, v.v.
Đây là cách tôi thay đổi tệp ctl của mình:
LOAD DATA
infile '/ipoapplication/utl_file/LBR_HE_Mar16.csv'
REPLACE
INTO TABLE LOAN_BALANCE_MASTER_INT
fields terminated by ',' optionally enclosed by '"'
(
ACCOUNT_NO,
CUSTOMER_NAME,
LIMIT,
REGION,
TERM_AGREEMENT INTEGER Terminated by Whitespace
)