【问题标题】:How to get output into oracle console from java code of oracle?如何从 oracle 的 java 代码输出到 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;
    }
}

【问题讨论】:

    标签: java oracle


    【解决方案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,比较有用

      【讨论】:

        猜你喜欢
        • 2014-07-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-10
        • 1970-01-01
        • 1970-01-01
        • 2010-12-16
        • 1970-01-01
        相关资源
        最近更新 更多