如何从 oracle 的 java 代码输出到 oracle 控制台?
Posted
技术标签:
【中文标题】如何从 oracle 的 java 代码输出到 oracle 控制台?【英文标题】:How to get output into oracle console from java code of oracle? 【发布时间】:2018-02-22 14:15:14 【问题描述】:请检查 Oracle 的 Java 代码。我喜欢将 println() 输出到 Oracle 控制台,例如 DBMS_OUTPUT.PUT_LINE()。
我还创建了一个函数/过程(在 java 中没有返回)来调用 java 函数。它执行得很好并返回值(对于函数),但不要在 Oracle 控制台(ServerOutput)中打印任何内容。
CREATE OR REPLACE AND RESOLVE JAVA SOURCE NAMED "Azam/Azam_Test" as package Azam;
import java.lang.*;
public class Azam_Test
public static String Azam_Test_Print(String testString)
System.out.println(testString); // want this output into ORACLE console
return testString;
【问题讨论】:
【参考方案1】:这是一个完整的脚本。
SQL> SET SERVEROUTPUT ON
SQL> CALL dbms_java.set_output(2000);
Call completed.
SQL>
SQL> CREATE OR REPLACE AND COMPILE JAVA SOURCE NAMED "MyOutput" as
2
3 import java.lang.*;
4 public class MyOutput
5
6 public static String print(String testString)
7 System.out.println(testString); // want this output into ORACLE console
8 return testString;
9
10
11 /
Java Source MyOutput created
SQL>
SQL> create or replace procedure Test_Output(testString in varchar2)
2 as LANGUAGE JAVA
3 NAME 'MyOutput.print(java.lang.String)';
4 /
Procedure TEST_OUTPUT compiled
SQL>
SQL> exec Test_Output('Hello');
Hello
PL/SQL procedure successfully completed.
SQL>
【讨论】:
【参考方案2】:文档DBMS_JAVA
和程序
DBMS_JAVA.SET_OUTPUT(2000000)
也可以查看DBMS_JAVA.SET_OUTPUT_TO_SQL
,比较有用
【讨论】:
以上是关于如何从 oracle 的 java 代码输出到 oracle 控制台?的主要内容,如果未能解决你的问题,请参考以下文章