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

Hubungkan Oracle dari nodejs

Saya tahu ini adalah posting lama... hanya ingin menyebutkan cara pasti bagi nodejs untuk berkomunikasi dengan Oracle tanpa modul tambahan.

Siapkan Oracle sehingga dapat membuat dan menerima permintaan http. Ada beberapa cara untuk melakukannya:

Cara termudah adalah dengan mengaktifkan gateway epg:

Anda juga dapat mengatur modplsq:

atau pendengar Apex:

Kemudian di node js lakukan standar http.get:

http.get("http://localhost/accessor/myschema.my_procedure?x=1&y=2", function(res) {
    console.log("Got response: " + res.statusCode);
}).on('error', function(e) {
   console.log("Got error: " + e.message);

});

Pendekatan mana pun ... amankan oracle sehingga hanya akan merespons alamat ip server nodejs. Jadi jika berjalan di localhost:

if owa_util.get_cgi_env('REMOTE_ADDR') = '127.0.0.1' then 
   --ok
else
   -- fail
end if;

Juga memblokir panggilan ke setiap paket dan prosedur lainnya. Ada beberapa cara untuk melakukan ini tergantung pada jalur yang Anda ambil.

Pastikan Anda melakukan ini minimal:

  • membuat daftar putih item yang dapat dipanggil dari web
  • mewajibkan semua url berisi nama skema seperti:myuser.myprocedure
  • pastikan bagian pertama url (hingga jalur kueri) hanya berisi a-z 0-9
  • benar-benar daftar putih yang baik akan menangani sebagian besar item ini

Itu dia...tidak perlu khawatir jika modul akan rusak atau berhenti bekerja dengan rilis berikutnya.

DAN...Anda dapat dengan mudah berkomunikasi dari Oracle ke Node menggunakan:

  • apex_web_service.make_rest_request
  • utl_http


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana saya bisa membuat direktori pada sistem file?

  2. Dari XML ke daftar jalur di lingkungan Oracle PL/SQL

  3. PhpStorm tidak dapat menyelesaikan kolom untuk beberapa koneksi database

  4. Bisakah GRANT digunakan di dalam Oracle Store Procedure?

  5. Apakah ada pragma PL/SQL yang mirip dengan DETERMINISTIC, tetapi untuk cakupan satu SQL SELECT?