Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Sqlldr- Tidak ada terminator yang ditemukan setelah bidang yang dihentikan dan tertutup

Meminta penyedia Anda untuk memperbaiki file data mungkin bukan pilihan, tetapi saya akhirnya menemukan solusi yang mengharuskan Anda memperbarui file kontrol sedikit untuk menentukan karakter "ditutup oleh" untuk setiap bidang, bukan untuk semua bidang.

Untuk kasus saya, saya memiliki masalah di mana jika bidang [first_name] masuk dengan tanda kutip ganda yang membungkus nama panggilan, itu tidak akan dimuat. (EG:Jonathon "Jon"). Dalam file data nama ditampilkan sebagai "Jonathon "Jon"" . Jadi "terlampir oleh" membuat kesalahan karena ada tanda kutip ganda di sekitar nilai dan tanda kutip ganda di sekitar bagian dari nilai ("Jon"). Jadi, alih-alih menetapkan bahwa nilai harus diapit oleh tanda kutip ganda, saya menghilangkannya dan menghapus tanda kutip secara manual dari string.

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. Dapatkan baris teratas setelah dipesan di Oracle Subquery

  2. Bantu saya memahami perbedaan antara CLOB dan BLOB di Oracle

  3. cara menemukan semua indeks dan kolomnya untuk tabel, tampilan, dan sinonim di oracle

  4. Entity Framework terhubung ke Oracle:ODP untuk .NET tidak mendukung waktu

  5. Permintaan untuk mendapatkan catatan terbaru dan (jika seri) dengan nilai atau persentase yang lebih tinggi berdasarkan kartu dan layanan