如何从Oracle Forms 6i调用Java对象/函数? 我正在研究一个遗留项目,它使用Oracle Form 6i(是的,我知道它的旧)来调用PLL库中的C++函数。 现在需要使用java来代替C++,因此我们需要从Oracle表单调用java(对象/类/方法)。p>
我知道这是一个具有挑战性的主题,但如果有人能提供一个简单的例子,做到以下几点,我会非常高兴:如何从Oracle Forms 6i调用Java对象/函数? 我正在研究一个遗留项目,它使用Oracle Form 6i(是的,我知道它的旧)来调用PLL库中的C++函数。 现在需要使用java来代替C++,因此我们需要从Oracle表单调用java(对象/类/方法)。p>,java,class,methods,invoke,oracleforms,Java,Class,Methods,Invoke,Oracleforms,我知道这是一个具有挑战性的主题,但如果有人能提供一个简单的例子,做到以下几点,我会非常高兴: 从Java类调用方法,传递int变量(在PL/SQL中) 在执行函数的画布中打印返回值 一个基本的例子,也许一个Hello World是理想的 我知道一些PL/SQL,但我不是Oracle窗体开发人员;请容忍我 如果这是不可能的,你能给我指一些其他的选择吗?好吧,在通过互联网进行深入查找后,我发现了一个非常好的资源(尽管是西班牙语): 我使用: 甲骨文表格6i JDK1.6 通过这一点,我成功创
- 从Java类调用方法,传递int变量(在PL/SQL中)
- 在执行函数的画布中打印返回值
如果这是不可能的,你能给我指一些其他的选择吗?好吧,在通过互联网进行深入查找后,我发现了一个非常好的资源(尽管是西班牙语): 我使用:
- 甲骨文表格6i
- JDK1.6
配置路径环境变量:
- C:\PATH\u TO\u JAVA\JAVA\jdk1.6.0\bin李>
- C:\PATH\u TO\u JAVA\JAVA\jdk1.6.0\jre\bin李>
- C:\PATH\u TO\u JAVA\JAVA\jdk1.6.0\jre\bin\client李>
添加到类路径
- FORMS\u HOME\TOOLS\common60\JAVA\IMPORTER.JAR(在我的例子中,FORMS\u HOME是C:\orant)
- 路径\u到\u您的\u JAR\u JAR.JAR的名称\u
创建Java程序
public class HiWorld{
private String hi="Hello World!";
public String getHi(){
return this.hi;
}
public String getMultiply(int a, int b){
return ""+a*b;
}
public static void main(String args[]){
HiWorld hm = new HiWorld();
System.out.println(hm.getHi());
System.out.println(hm.getMultiply(5,10));
}
}
- HIWORLD(规格)
- HIWORLD(机构)
DECLARE
v_wb ORA_JAVA.JOBJECT;
v_hi VARCHAR2(20);
BEGIN
v_wb := hiworld.new();
v_hi:= hiworld.getHi(v_wb);
:TEXT_HI_WORLD := v_hi
END;
现在执行程序并单击按钮!:)
希望这能帮助对表单了解不多的Java程序员与遗留系统集成!:D我以前已经这样做过,使用一个简单的类应该可以,但是当您尝试开发更复杂的东西时,我建议扩展VBean类,您可以在oracle的forms安装文件夹(frmall.jar)中找到该库 甲骨文表格7-表单版本从6到9i。感谢Sathya的更正,编辑了问题:)我遵循了这个步骤。但我得到了类似FRM-40735的异常:当按下按钮触发时引发了未处理的异常ORA-105101
// el programa corregido.
public class HolaMundo {
private String hi= "Hey World!!!";
public String GetHi(){
return this.hi;
}
public static void main(String args[]){
HolaMundo hm = new HolaMundo();
System.out.println(hm.GetHi());
}
}