【发布时间】:2019-07-22 08:39:44
【问题描述】:
在 sql developer 中运行以下代码时出现以下错误:
创建java源代码-
CREATE OR REPLACE AND COMPILE JAVA SOURCE NAMED demoskr1 AS
package ScreenShot;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.*;
import javax.imageio.*;
class demoskr1
{
public static void main(String args[]) throws Exception
{
try{
Thread.sleep(5000);
Robot awt_robot = new Robot();
String path = "C:\\Users\\pbafna\\workspace\\shot.jpg";
BufferedImage Entire_Screen = awt_robot.createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()));
ImageIO.write(Entire_Screen, "jpg", new File(path));
System.out.println("Screenshot saved");
}
catch (Exception e) {
System.out.println("Something went wrong.");
}
}
};
创建过程-
create or replace procedure proc_capture
as
language Java
name 'demoskr1.main(java.lang.String[])';
运行程序-
begin
proc_capture();
end;
运行后出现以下错误:
ORA-29532: Java call terminated by uncaught Java exception: java.lang.NoClassDefFoundError
ORA-06512: at "XXOSC.PROC_CAPTURE", line 1
ORA-06512: at line 2
29532. 00000 - "Java call terminated by uncaught Java exception: %s"
*Cause: A Java exception or error was signaled and could not be
resolved by the Java code.
*Action: Modify Java code, if this behavior is not intended.
【问题讨论】:
-
除了机器人问题:尝试访问文件系统时,您的方法将失败。 Java 存储过程访问 server 文件系统(您的主目录可能不存在)并且需要特殊权限。
-
感谢您的回复,但您能否告诉我是否有任何方法可以使用 plsql 运行这个 java 程序?还是不可能?
标签: java oracle plsql oracle-sqldeveloper noclassdeffounderror