java存储过程 - Oracle中的资源文件

时间:2012-02-22 21:16:50

标签: java oracle stored-procedures

我有一个Java存储,我使用loadjava命令加载到Oracle。我加载整个jar文件来加载类。

除了类文件外,还有2个资源文件加载到此文件中。其中一个是jar清单文件。另一个是我加载的.properties文件。我使用此文件来控制存储过程中的日志记录级别。我可以通过使用

从USER_OBJECTS中选择来加载资源文件
SELECT * FROM user_objects WHERE object_type = 'JAVA RESOURCE';

但是我看不到内容。我不是DBA,所以我让我的DBA朋友调查数据库。他可以看到蟾蜍中的物体,但看不到内容。 (有趣的是Toad甚至没有对象类型“JAVA RESOURCE”)。

有没有办法在Java资源文件中查看实际文本?感谢您的任何意见或建议。

萨姆

2 个答案:

答案 0 :(得分:1)

您可能希望查看这些视图

ALL_JAVA_ARGUMENTS
ALL_JAVA_CLASSES
ALL_JAVA_DERIVATIONS
ALL_JAVA_FIELDS
ALL_JAVA_IMPLEMENTS
ALL_JAVA_INNERS
ALL_JAVA_LAYOUTS
ALL_JAVA_METHODS
ALL_JAVA_NCOMPS
ALL_JAVA_RESOLVERS
ALL_JAVA_THROWS
ALL_SOURCE (contains the actual source code)

其他链接:

http://docs.oracle.com/cd/B19306_01/server.102/b14237/statviews_2063.htm

http://docstore.mik.ua/orelly/oracle/guide8i/ch09_06.htm

答案 1 :(得分:1)

我在评论中发布的link显示了使用程序的示例。这是我的匿名块,用于显示资源文件的内容,基于它们的示例:

SET SERVEROUTPUT ON
EXEC DBMS_JAVA.SET_OUTPUT (1000000);

DECLARE
b CLOB;
i INTEGER;
v VARCHAR2(2000);
BEGIN
  DBMS_LOB.createtemporary(b, FALSE );
  DBMS_JAVA.EXPORT_RESOURCE('LAJavaSP.properties', b);
  i := 1000;
  DBMS_lob.read(b, i, 1, v);
  DBMS_OUTPUT.put_line(v);
END;
/