我的要求是通过siebel-escrapt执行一个plsql包。为此,我计划编写一个批处理文件,该文件可以在escript中调用。在批处理文件中,我想执行包。但在将输入传递到包并从中获得输出时遇到了困难。请帮助我编写代码。谢谢
最快的答案可能是使用Clib发送命令方法。这可以用于在任何操作系统上的siebel服务器上运行命令。例如:
Clib.system("目录/p C:\Backup");
所以你可以试着调用你的蝙蝠文件
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/工作流来读取文件并删除它。
若您小心文件命名以避免并发问题,它将可靠地工作。