sql >> Databáze >  >> RDS >> Oracle

Připojte oracle z nodejs

Vím, že toto je starý příspěvek... jen jsem chtěl zmínit jistý způsob, jak mohou nodejs komunikovat s oraclem bez dalších modulů.

Nastavte oracle tak, aby mohl vytvářet a přijímat požadavky http. Existuje několik způsobů, jak to udělat:

Nejjednodušší je zapnout bránu epg:

Můžete také nastavit modplsq:

nebo posluchač Apex:

Poté v node js proveďte standardní 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);

});

Ať je to jakýkoli přístup...zabezpečte oracle tak, aby odpovídal pouze na IP adresu serveru nodejs. Pokud tedy běží na localhost:

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

Blokujte také volání každého dalšího balíčku a procedury. Existuje několik způsobů, jak to udělat, v závislosti na cestě, kterou se vydáte.

Ujistěte se, že to děláte minimálně:

  • vytvořte bílý seznam položek, které lze volat z webu
  • vyžadovat, aby všechny adresy URL obsahovaly název schématu, například:myuser.myprocedure
  • ujistěte se, že první část adresy URL (až po cestu dotazu) obsahuje pouze a-z 0-9
  • o většinu těchto položek se postará opravdu dobrý bílý seznam

Tady to máte...nemusíte se bát, jestli se modul s příští verzí rozbije nebo přestane fungovat.

A...můžete snadno komunikovat z Oracle do Node:

  • apex_web_service.make_rest_request
  • utl_http


  1. Jak formátovat čísla v SQL Server

  2. DATETIMEFROMPARTS() Příklady v SQL Server (T-SQL)

  3. MAX. DÉLKA CONCAT MYSQL

  4. Datum na milisekundy / milisekundy k datu