Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Sqlldr- Không tìm thấy dấu kết thúc sau trường kết thúc và trường kèm theo

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 '"'
)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Đếm ngày giữa hai phân đoạn

  2. Truy vấn Oracle để lấy ID giao dịch đầu tiên dựa trên giao dịch gửi đi đã sử dụng

  3. Cách viết java.sql.Array vào java.sql.SQLOutput trong SQLData.writeSQL () cho Oracle

  4. Kết hợp dữ liệu từ 5 bảng mà không có giá trị trùng lặp và nhận kết quả với trạng thái tùy chỉnh trong Oracle 10g

  5. Hiệu suất kém khi nhận trường tắc nghẽn từ Oracle trong .Net