thanks buat contohnya mas yulius :)
kalau update JDK di oracle-nya gimana ya? apakah bisa?
set pathnya ke JDK 1.6 saya, ini saya googling blm ketemu2..
sebenarnya saya mau menghitung menggunakan BigInteger-nya java, codenya seperti
ini:
import java.math.BigInteger;
public class HitungJava {
public static String hitung(String pesan, int pangkat, String modulus){
BigInteger b1 = new BigInteger(pesan);
BigInteger b2 = new BigInteger(modulus);
return b1.pow(pangkat).mod(b2).toString();
}
}
kenudian di PL/SQL-nya
create or replace function
fn_hitung(s1 IN VARCHAR2, n1 IN NUMBER, s2 IN VARCHAR2) RETURN VARCHAR2
AS LANGUAGE JAVA
NAME 'HitungJava.hitung(java.lang.String, java.lang.int, java.lang.String)
return java.lang.String'
buat menghitung angka 3 digit pangkat 5 digit dan dimodulus 5 digit nantinya.
regard'
Ivan
--- In [email protected], "Yulius Wibowo" <yulius_wib...@...> wrote:
>
> Mungkin juga karena beda versi.
>
> Berikut contoh kalau pakai jdk 1.4.2
>
> public class TestHitung {
> public static int hitung(int a, int b){
> return(a+b);
> }
> }
>
>
> C:\>java -version
> java version "1.4.2_08"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_08-b03)
> Java HotSpot(TM) Client VM (build 1.4.2_08-b03, mixed mode)
>
> C:\>javac TestHitung.java
>
> C:\>loadjava -force -user user1/ora...@tns TestHitung.class
>
>
> SQL:user1> CREATE OR REPLACE FUNCTION f_hitung(p1 NUMBER, p2 NUMBER) RETURN
> NUMBER
> 2 IS
> 3 LANGUAGE JAVA NAME 'TestHitung.hitung(int,int) return int';
> 4 /
>
>
> Function created.
>
> SQL:user1> select f_hitung(1,2) from dual;
>
> F_HITUNG(1,2)
> -------------
> 3