我申请这个blog是为了督促自己,把自己平时的一些想法和思考结果保留下来。
本博客所有内容均为原创,如有转载请注明作者和出处
JAVA存储过程出现ORA-24345错误
上一篇 /
下一篇 2008-08-18 23:50:52
/ 个人分类:ORACLE
写了一个简单的JAVA存储过程,处理一个精度较大的数学问题,结果碰到了ORA-24345错误。
由于对JAVA不熟悉,JAVA存储过程也很少使用,因此费了不少时间,总算写了出来,但是在执行的时候发现了一个问题。
这个存储过程是用来计算圆周率的取值的,相关算法可以参考:http://yangtingkun.itpub.net/post/468/468870
关于存储过程就不详细描述了,下面直接看问题的产生:
SQL> create or replace and compile java source named "pi" as
&Tj!ceO\Q0 2 import java.math.BigDecimal;
$SL8y*ZE*s0 3 public class pi extends Object
O1Zpd2N6bYx"l9E0 4 {ITPUB个人空间d5S,esO.p!T
5 public static String pi (int n)
2AT!o
[\0 6 {
D#enxuP6bI7I0 7 BigDecimal result = new BigDecimal(1);
} {3\ K)]pO0 8 for (int i=n;i>0;i--)
-`
dug|
HO#`}0 9 {
n0[Aj\/B.A#h0 10 BigDecimal temp = new BigDecimal(i);ITPUB个人空间f \L,^"v3II-AcR\(r
11 result = new BigDecimal(2).addITPUB个人空间[!Lx5z[
12 (result.multiply
gMU
Nh1wM0 13 (temp.divide(new BigDecimal(1).addITPUB个人空间)a+y'Txp~@
14 (temp.multiplyITPUB个人空间cX R,sk4Z4T
15 (new BigDecimal(2))