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

Kết nối oracle từ nodejs

Tôi biết đây là một bài đăng cũ ... chỉ muốn đề cập đến một cách chắc chắn để nodejs giao tiếp với oracle mà không cần mô-đun bổ sung.

Thiết lập oracle để nó có thể tạo và nhận các yêu cầu http. Có một số cách để thực hiện việc này:

Cách dễ nhất là bật cổng epg:

Ngoài ra, bạn có thể thiết lập modplsq:

hoặc trình nghe Apex:

Sau đó, trong nút js thực hiện một http.get:

tiêu chuẩn
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);

});

Cho dù cách tiếp cận nào ... bảo mật oracle để nó sẽ chỉ phản hồi địa chỉ ip của máy chủ nodejs. Vì vậy, nếu chạy trên localhost:

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

Đồng thời chặn các cuộc gọi đến mọi gói và thủ tục khác. Có một số cách để làm điều này tùy thuộc vào con đường bạn đi.

Đảm bảo rằng bạn làm điều này ở mức tối thiểu:

  • tạo một danh sách trắng các mục có thể được gọi từ web
  • yêu cầu tất cả các url phải chứa tên lược đồ, chẳng hạn như:myuser.myprocedure
  • đảm bảo rằng phần đầu tiên của url (cho đến đường dẫn truy vấn) chỉ chứa a-z 0-9
  • thực sự là một danh sách trắng tốt sẽ giải quyết hầu hết các mục này

Bạn đã có nó ... không cần phải lo lắng nếu một mô-đun sẽ bị hỏng hoặc ngừng hoạt động với bản phát hành tiếp theo.

VÀ ... bạn có thể dễ dàng giao tiếp từ Oracle sang Node sử dụng:

  • 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. Oracle:sự khác biệt giữa max (id) +1 và sequence.nextval

  2. thêm khóa chính vào chế độ xem sql

  3. truy vấn để bỏ qua các bản ghi trùng lặp / null

  4. Thêm các bản ghi giá trị 0 vào một truy vấn bằng cách sử dụng các hàm phân tích tích lũy

  5. ora-01406 Lỗi khi tìm nạp các giá trị bằng OCI