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

skrip yang menarik data dari file txt di klausa where

Kedengarannya seperti direktori eksternal Oracle sangat cocok untuk pekerjaan itu. Ingatlah bahwa pendekatan ini penuh dengan kesulitan jika ini adalah file teks yang dapat digunakan pengguna untuk menulis. Pengguna akan melakukan ratusan hal yang tidak pernah Anda yakini akan menyebabkan kesalahan dan lainnya .

Dari artikel:

Buat direktori

berikan read, write pada direktori data_dir ke your_user;

Buat tabel eksternal

CREATE TABLE test_ext (
  test_code      VARCHAR2(5),
  test_name      VARCHAR2(50)
)
ORGANIZATION EXTERNAL (
  TYPE ORACLE_LOADER
  DEFAULT DIRECTORY ext_tab_data
  ACCESS PARAMETERS (
    RECORDS DELIMITED BY NEWLINE
    FIELDS TERMINATED BY ','
    MISSING FIELD VALUES ARE NULL
    (
      test_code      CHAR(5),
      test_name      CHAR(50)
    )
  )
  LOCATION ('test1.txt','test2.txt')
)
PARALLEL 5
REJECT LIMIT UNLIMITED;

lalu baca dari tabel

SELECT *
    FROM   test_ext
    ORDER BY test_name;

Sunting:Anda masih dapat melakukan ini dengan direktori yang tidak terletak di server basis data tetapi lebih banyak pekerjaan diperlukan dan ini menunjukkan lebih banyak risiko terhadap keamanan basis data dan kualitas data. Pendekatan ini juga tidak berskala. Apakah Anda bermaksud menambahkan direktori baru setiap kali pengguna baru ditambahkan?

Langkah-langkah untuk mengizinkan Oracle mengakses file yang terletak di komputer lain (dengan asumsi sistem operasi Windows)

  • buat pengguna windows atau domain yang akan memiliki izin membaca file di setiap direktori yang ingin Anda akses
  • di server database, jalankan services.msc dan ubah pengguna yang menjalankan layanan database Oracle ke pengguna domain baru Anda. Tambahkan pengguna ini ke grup lokal yang disebut ORA_DBA di server database
  • mulai ulang database agar perubahan diterapkan
  • buat direktori di database menggunakan jalur seperti //clientPc/sharedFolder
  • berikan izin membaca kepada pengguna basis data Anda
  • di mesin klien, berikan pembacaan kepada pengguna domain di folder itu
  • verifikasi konektivitas dengan menggunakan UTLFILE untuk membaca contoh file di pc klien



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 'ORA-00942:tabel atau tampilan tidak ada' hanya saat dijalankan dalam prosedur Tersimpan

  2. Bagaimana cara mengatur beberapa lebar kolom dalam satu perintah di Oracle?

  3. Plsql untuk mengeja nomor (mata uang) ke mata uang Italia tanpa hardcode nomor terjemahan

  4. Fungsi tabel dengan pengumpulan massal membuang tipe data yang tidak valid

  5. Membuat Pemicu yang berjalan di dua tabel