首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >尝试从plsql过程调用ksh

尝试从plsql过程调用ksh
EN

Stack Overflow用户
提问于 2016-04-29 12:29:30
回答 1查看 279关注 0票数 0

需要用4个输入变量从过程执行test.ksh,从脚本到过程需要一个输出变量值。在网上找不到很多。有谁能对此提出建议如何实现。

经过分析,我尝试了下面的方法来实现仍然没有运气。在java类下面加载到Oracle DB。

代码语言:javascript
运行
复制
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class KSHCommand {

public static String executeCommand(Long param1,String param2,Long param3, Integer param4) {

    StringBuffer output = new StringBuffer();

    Process p;
    try {
    String finalCommand = "Filesystempath/test.ksh";
        p = Runtime.getRuntime().exec(finalCommand);
        p.waitFor();
        BufferedReader reader = 
                       new BufferedReader(new InputStreamReader(p.getInputStream()));

        String line = "";           
        while ((line = reader.readLine())!= null) {
            output.append(line + "\n");
        }

    } catch (Exception e) {
        e.printStackTrace();
    }

    return output.toString();

  }

}

test.ksh

代码语言:javascript
运行
复制
out=`/usr/bin/java test`
echo $out

下面是为调用java方法而定义的函数

代码语言:javascript
运行
复制
    CREATE OR REPLACE FUNCTION testfun(param1 IN NUMBER,param2 IN   VARCHAR2,param3 IN NUMBER,param4 IN NUMBER) RETURN VARCHAR2 AS
    LANGUAGE JAVA NAME 'KSHCommand.executeCommand(java.lang.Long, java.lang.String, java.lang.Long,java.lang.Integer) return java.lang.String';
 /;

下面是返回空数据的查询

代码语言:javascript
运行
复制
 SELECT testfun(5,'test1',6,7) FROM DUAL;
  testfun()
  ------------------------------------------------

如果使用./test.ksh从文件系统执行相同的java文件,将在终端中获得输出测试

如果从函数执行脚本,请告诉我是否遗漏了什么东西。

提前感谢

EN

回答 1

Stack Overflow用户

发布于 2016-04-29 14:41:48

使用dbms_scheduler -包创建一个包含4个参数的外部作业,传入参数,然后运行它。这是一个简短易懂的示例,您可以在这里找到https://tinky2jed.wordpress.com/technical-stuff/oracle-stuff/creating-an-oracle-job-that-runs-an-os-executable/或这里(适用于Windows,但它非常类似于UX) scheduler/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36938395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档