2013-05-16 42 views
0

我有一个批处理文件,它将执行一些执行一些操作(如连接到数据库,获取数据,插入数据等)的.exe文件
所有的东西在批处理文件中配置,当我运行它时,它工作良好。如何在PL/SQL过程中运行批处理文件

但是,我想从PL/SQL过程调用这个批处理文件
这个过程应该首先调用这个批处理文件,并且在执行批处理文件之后,它将拥有它自己的SQL操作。

我该怎么做呢?

+2

在哪里以及如何来运行应该在PL/SQL,如果批处理文件使连接到数据库 - 作为计划作业的一部分?批处理文件在客户端还是服务器上?而...为什么?这样做的基本原理是什么?为什么不能说PL/SQL(存储过程?作业?)直接执行DB更改? –

+0

不,实际上批处理文件是连接到数据库并将数据转储到其中的另一个软件的API。 在我的应用程序中,我将调用此过程来导出数据。所以我想从PL/SQL过程调用。 –

+0

因此,从您的应用程序中调用一个程序,该程序反过来应该运行一个批处理文件?听起来过于复杂,为什么不直接从应用程序启动批处理文件?您是否知道批处理文件(和关联的.exe)需要存储在Oracle *服务器*的文件系统中才能访问? –

回答

0

您可以使用实现运行OS可执行文件的方法编写自己的存储java类。您应该使用DBMS_JAVA.GRANT_PERMISSION过程向oracle用户授予java.io.FilePermission和java.lang.RuntimePermission。然后你应该创建一个调用你的java方法的plsql函数包装器。所有你应该做的运行一个操作系统eecutable是运行你的plsql包装函数。

有关于它的“AskTom”页面here

相关问题