【发布时间】:2016-02-05 07:24:35
【问题描述】:
我的要求是通过siebel escript执行一个plsql包。为此,我打算编写一个可以在 escript 中调用的批处理文件。 在批处理文件中,我想执行包。但坚持将输入传递给包并从中获取输出。请帮我写代码。 谢谢。
【问题讨论】:
标签: siebel
我的要求是通过siebel escript执行一个plsql包。为此,我打算编写一个可以在 escript 中调用的批处理文件。 在批处理文件中,我想执行包。但坚持将输入传递给包并从中获取输出。请帮我写代码。 谢谢。
【问题讨论】:
标签: siebel
最快的答案可能是使用 Clib 发送命令方法。这可用于在任何操作系统上的 siebel 服务器上运行命令。例如:
Clib.system("dir /p C:\Backup");
所以你可以尝试调用你的 bat 文件
Clib.system("C:\custom.bat arg1 arg2");
您必须处理 bat 文件(或 .sh)文件中的变量并从那里调用您的 PLSQL。
另一方面,无法将命令行的任何输出返回给 Siebel。
https://docs.oracle.com/cd/E14004_01/books/eScript/C_Language_Reference101.html#wp1008859
【讨论】:
您可以通过命令将输出通过管道传输到文本文件并让 Siebel 处理该文件,从而间接将输出返回到 Siebel。
【讨论】:
这样做的唯一方法是使用 Clib.system 调用批处理并将输出保存到文件中。然后你需要有一些 BS/Workflow 来读取文件并删除它。
如果您注意文件命名以避免并发问题,它将可靠地工作。
【讨论】: