Yêu cầu nhà cung cấp của bạn sửa tệp dữ liệu có thể không phải là một tùy chọn, nhưng cuối cùng tôi đã tìm thấy giải pháp yêu cầu bạn cập nhật tệp điều khiển của mình một chút để chỉ định ký tự "kèm theo" của bạn cho từng trường thay vì cho tất cả các trường.
Đối với trường hợp của tôi, tôi gặp sự cố trong đó nếu trường [first_name] đi kèm với dấu ngoặc kép bao quanh biệt hiệu thì nó sẽ không tải. (EG:Jonathon "Jon"). Trong tệp dữ liệu, tên được hiển thị là "Jonathon" Jon "". Vì vậy, "được bao quanh bởi" đã gây ra lỗi vì có dấu ngoặc kép xung quanh giá trị và dấu ngoặc kép xung quanh một phần của giá trị ("Jon"). Vì vậy, thay vì chỉ định rằng giá trị phải được đặt trong dấu ngoặc kép, tôi đã bỏ qua điều đó và chỉ xóa thủ công các dấu ngoặc kép khỏi chuỗi.
Load Data
APPEND
INTO TABLE MyDataTable
fields terminated by "," ---- Noticed i omitted the "enclosed by"
TRAILING NULLCOLS
(
column1 enclosed by '"', --- Specified "enclosed by" here for all cols
column2 enclosed by '"',
FIRST_NAME "replace(substr(:FIRST_NAME,2, length(:FIRST_NAME)-2), chr(34) || chr(34), chr(34))", -- Omitted "enclosed by". substr removes doublequotes, replace fixes double quotes showing up twice. chr(34) is charcode for doublequote
column4 enclosed by '"',
column5 enclosed by '"'
)