Rumah pangkalan data Oracle prosedur tersimpan oracle memanggil java

prosedur tersimpan oracle memanggil java

May 07, 2023 pm 07:17 PM

Dalam pangkalan data Oracle, prosedur tersimpan ialah sekeping kod PL/SQL pra-disusun yang boleh digunakan untuk melaksanakan dan mengurus operasi pangkalan data. Walau bagaimanapun, apabila berurusan dengan beberapa keperluan perniagaan tertentu, prosedur tersimpan itu sendiri mungkin tidak memenuhi keperluan sepenuhnya, dan kod Java perlu dipanggil untuk menyelesaikan masalah tersebut. Dalam artikel ini, kami akan memperkenalkan cara memanggil Java dalam prosedur tersimpan Oracle.

  1. Gambaran Keseluruhan JVM Oracle

Oracle menyediakan ciri yang dipanggil JVM (Java Virtual Machine) yang membenarkan kod Java dibenamkan dalam pangkalan data Oracle. Selepas mendayakan ciri JVM, Oracle akan dapat menjalankan kod sumber Java dan menganggapnya sebagai sebahagian daripada prosedur tersimpan.

Apabila mendayakan fungsi Oracle JVM, Java Development Kit (JDK) dan Java Virtual Machine (JVM) perlu dipasang. Sebelum Oracle 11g, JDK dan JVM perlu dipasang secara manual, tetapi bermula dari Oracle 11g, JVM akan dipasang dalam pangkalan data Oracle secara lalai. Di samping itu, beberapa pembolehubah persekitaran perlu ditetapkan untuk memastikan Oracle dapat mencari lokasi JDK dan JVM dengan betul.

  1. Mencipta prosedur tersimpan Java

Untuk mencipta prosedur tersimpan Java dalam Oracle, anda perlu menulis kod sumber Java yang sepadan. Dalam kod sampel, kami mencipta kelas Java ringkas yang mengandungi dua kaedah: satu mengembalikan jumlah dua integer dan satu lagi mengembalikan hasil darab dua integer.

import oracle.jdbc.*;

import java.sql.*;

public class JavaProc {

   public static int add(int a, int b) {
      return a + b;
   }

   public static int multiply(int a, int b) {
      return a * b;
   }
}
Salin selepas log masuk

Selepas menyimpan kod sumber Java, anda perlu menggunakan pengkompil Java untuk menyusunnya ke dalam fail .class. Selepas penyusunan selesai, simpan fail .class ke direktori pada pelayan Oracle.

Seterusnya, kita perlu mencipta prosedur tersimpan Java dalam pangkalan data Oracle. Cipta prosedur tersimpan menggunakan pernyataan CREATE PROCEDURE, yang merangkumi lokasi dan nama kelas bagi fail kod sumber Java, seperti yang ditunjukkan di bawah:

CREATE OR REPLACE PROCEDURE java_proc (
   a IN NUMBER,
   b IN NUMBER,
   op IN VARCHAR2,
   result OUT NUMBER
)
AS LANGUAGE JAVA
NAME 'JavaProc.calculate(int, int, java.lang.String, oracle.jdbc.OracleTypes.NUMBER)'
LIBRARY java_proc_jar
/
Salin selepas log masuk

Dalam prosedur tersimpan ini, kami mentakrifkan 4 parameter: a, b dan op adalah parameter Input, hasilnya adalah parameter output. a dan b ialah integer, dan op ialah rentetan yang mewakili operasi yang akan dilakukan. result ialah parameter output yang digunakan untuk menyimpan hasil pengiraan.

Dalam prosedur tersimpan, kami merujuk lokasi dan nama kelas kelas Java yang kami susun sebelum ini: JavaProc.calculate. Apabila menentukan nama kelas dan kaedah Java, anda harus ambil perhatian bahawa nama kelas dan nama kaedah Java adalah sensitif huruf besar-besaran. Selain itu, kami juga menentukan jenis data parameter pulangan Oracle: oracle.jdbc.OracleTypes.NUMBER.

Sebelum melaksanakan prosedur tersimpan, anda juga perlu membungkus kelas Java ke dalam fail JAR dan memuatkannya ke dalam pangkalan data Oracle. Dalam contoh ini, kami membungkus kelas Java ke dalam fail JAR bernama java_proc_jar dan memuatkannya ke dalam pangkalan data Oracle.

  1. Panggil Java Stored Procedure

Untuk memanggil Java Stored Procedure, hanya gunakan pernyataan CALL seperti prosedur tersimpan lain. Dalam contoh ini, kita akan lulus dua integer dan rentetan operasi dan menyimpan hasilnya dalam parameter output. Kod sampel adalah seperti berikut:

DECLARE
   a NUMBER;
   b NUMBER;
   op VARCHAR2(1);
   result NUMBER;
BEGIN
   a := 10;
   b := 20;
   op := '+';
   
   java_proc(a, b, op, result);
   
   DBMS_OUTPUT.PUT_LINE('Result: ' || result);
END;
Salin selepas log masuk

Selepas memanggil prosedur tersimpan, kami menggunakan pernyataan DBMS_OUTPUT.PUT_LINE untuk mengeluarkan hasil ke konsol.

  1. Ringkasan

Ciri Oracle JVM membenarkan kod Java dipanggil dalam prosedur tersimpan untuk melanjutkan fungsi pangkalan data Oracle. Menggabungkan Java dengan PL/SQL menyediakan fungsi tahap yang lebih tinggi dan kuasa yang lebih besar. Dengan menulis kod sumber Java dan membungkusnya ke dalam fail JAR, dan kemudian memuatkannya ke dalam pangkalan data Oracle, kami boleh mencipta prosedur tersimpan Java dan memanggilnya apabila diperlukan untuk menyelesaikan keperluan perniagaan tertentu.

Atas ialah kandungan terperinci prosedur tersimpan oracle memanggil java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana saya membuat pengguna dan peranan dalam oracle? Bagaimana saya membuat pengguna dan peranan dalam oracle? Mar 17, 2025 pm 06:41 PM

Artikel ini menerangkan cara membuat pengguna dan peranan dalam Oracle menggunakan arahan SQL, dan membincangkan amalan terbaik untuk menguruskan kebenaran pengguna, termasuk menggunakan peranan, mengikuti prinsip keistimewaan paling sedikit, dan audit biasa.

Bagaimana saya melakukan sandaran dalam talian di oracle dengan downtime minimum? Bagaimana saya melakukan sandaran dalam talian di oracle dengan downtime minimum? Mar 17, 2025 pm 06:39 PM

Artikel ini membincangkan kaedah untuk melakukan sandaran dalam talian di Oracle dengan downtime yang minimum menggunakan RMAN, amalan terbaik untuk mengurangkan downtime, memastikan konsistensi data, dan memantau kemajuan sandaran.

Bagaimana saya mengkonfigurasi penyulitan dalam oracle menggunakan penyulitan data telus (TDE)? Bagaimana saya mengkonfigurasi penyulitan dalam oracle menggunakan penyulitan data telus (TDE)? Mar 17, 2025 pm 06:43 PM

Artikel ini menggariskan langkah -langkah untuk mengkonfigurasi penyulitan data telus (TDE) di Oracle, memperincikan penciptaan dompet, membolehkan TDE, dan penyulitan data di pelbagai peringkat. Ia juga membincangkan manfaat TDE seperti perlindungan data dan pematuhan, dan bagaimana untuk veri

Bagaimana Saya Menggunakan Repositori Beban Kerja Automatik (AWR) dan Monitor Diagnostik Pangkalan Data Automatik (ADDM) di Oracle? Bagaimana Saya Menggunakan Repositori Beban Kerja Automatik (AWR) dan Monitor Diagnostik Pangkalan Data Automatik (ADDM) di Oracle? Mar 17, 2025 pm 06:44 PM

Artikel ini menerangkan cara menggunakan AWR dan Addm Oracle untuk pengoptimuman prestasi pangkalan data. Ia memperincikan penjanaan dan menganalisis laporan AWR, dan menggunakan Addm untuk mengenal pasti dan menyelesaikan kesesakan prestasi.

Bagaimanakah saya menggunakan teknologi flashback untuk pulih dari rasuah data logik? Bagaimanakah saya menggunakan teknologi flashback untuk pulih dari rasuah data logik? Mar 14, 2025 pm 05:43 PM

Artikel membincangkan menggunakan teknologi flashback Oracle untuk pulih dari rasuah data logik, memperincikan langkah-langkah untuk pelaksanaan dan memastikan integriti data selepas pemulihan.

Oracle PL/SQL Dive Deep: Menguasai Prosedur, Fungsi & Pakej Oracle PL/SQL Dive Deep: Menguasai Prosedur, Fungsi & Pakej Apr 03, 2025 am 12:03 AM

Prosedur, fungsi dan pakej dalam OraclePL/SQL digunakan untuk melaksanakan operasi, mengembalikan nilai dan menyusun kod, masing -masing. 1. Proses ini digunakan untuk melakukan operasi seperti mengeluarkan salam. 2. Fungsi ini digunakan untuk mengira dan mengembalikan nilai, seperti mengira jumlah dua nombor. 3. Pakej digunakan untuk mengatur unsur -unsur yang relevan dan meningkatkan modulariti dan mengekalkan kod, seperti pakej yang menguruskan inventori.

Bagaimanakah saya membuat dan menguruskan jadual, pandangan, indeks, dan objek pangkalan data lain di Oracle? Bagaimanakah saya membuat dan menguruskan jadual, pandangan, indeks, dan objek pangkalan data lain di Oracle? Mar 14, 2025 pm 05:52 PM

Artikel ini membincangkan membuat dan menguruskan objek pangkalan data Oracle seperti jadual, pandangan, dan indeks menggunakan arahan SQL. Ia meliputi amalan terbaik untuk pengoptimuman prestasi, memastikan integriti dan keselamatan data, dan menggunakan alat untuk automasi.

Bagaimanakah saya melakukan operasi switchover dan failover di Oracle Data Guard? Bagaimanakah saya melakukan operasi switchover dan failover di Oracle Data Guard? Mar 17, 2025 pm 06:37 PM

Prosedur butiran artikel untuk switchover dan failover dalam Pengawal Data Oracle, menekankan perbezaan, perancangan, dan ujian mereka untuk meminimumkan kehilangan data dan memastikan operasi yang lancar.

See all articles