我的 Java 源代码有点卡在这里。首先我想从数据库中完全删除它,因为我想重新编译它,但我不能删除它,因为如果我执行这个命令:
drop java source "SCHEMA.JAVASOURCENAME";
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
ORA-04043: object JAVASOURCENAME does not exist
Run Code Online (Sandbox Code Playgroud)
Javasource 本身具有这种结构(这是它的 plsql/java 代码):
create or replace and compile java source named myjavasource as
import java.io.*;
import some.custom.jar.one.*;
import some.custom.jar.two.*;
import some.custom.jar.three.*;
public class MyJavaClass
{
public static String myjavafunction(String connectString, String identity, String password)
{
...
}
}
Run Code Online (Sandbox Code Playgroud)
我以 DBA 身份和我的用户执行了这个“创建或替换和编译 java 源代码...”命令,我不知道这是否可能是问题所在。
所以我的问题是,我怎样才能删除这个 java 源代码?
我的第二个问题是我可以处理自定义 jars 吗?我用这个命令导入了它们:
call dbms_java.loadjava('-genmissing -r -v -force -grant SCHEMA ./some.custom.jar.one.jar');
Run Code Online (Sandbox Code Playgroud)
我还以 DBA 身份和我的用户执行了此操作。如果是检查无效对象:
SELECT *
FROM user_objects
WHERE …
Run Code Online (Sandbox Code Playgroud)