2

我首先要说我是使用 Oracle 的新手,所以虽然我没有运气搜索过这个,但可能是我错过了正确的术语。

我想要做的是使用 Oracle 数据库和 PLSQL,是监视指定的目录,当添加新文件时,然后调用数据库中的函数来处理该文件。这是否可以通过 PLSQL 完成,如果是这样,那么任何关于我应该看哪里的指导将不胜感激。

萨塔尔

4

3 回答 3

4

查看操作系统需要操作系统实用程序。有两种方法可以集成操作系统和数据库。

从操作系统驱动它
旧的 skool 方法是编写一个 shell 脚本,该脚本ls对目标目录执行一个 SQL*Plus 会话来调用一个存储过程,该过程处理它找到的任何文件。用于cron定期调用此脚本。(替换这些程序的 Windows 等效项)。

从数据库驱动
nu skool 方法是让存储过程运行所有内容。没有用于搜索 OS 目录的 Oracle 内置程序,但可以使用调用 OS 可执行文件的 Java 存储过程来完成。Java 安全模型有点复杂,但该技术确实工作得很好。 了解更多。编写一个 PL/SQL 过程来调用 JSP 并在找到任何内容时处理该文件。此过程从定期启动的 DBMS_JOB 执行。

从 10g 开始可用的这种方法的一个变体是使用 DBMS_SCHEDULER。如果第一个作业找到任何内容,我们可以创建一个执行 OS 命令的作业并将其与另一个作​​业链接以处理文件。

于 2013-07-30T12:09:35.680 回答
4

如果您使用的是 Oracle 11g,则可以使用 Oracle Scheduler 的新 File Watcher 功能。

http://docs.oracle.com/cd/E11882_01/server.112/e25494/scheduse005.htm#CIAJIADA

http://www.oracle-base.com/articles/11g/scheduler-enhancements-11gr2.php#file_watcher

于 2013-08-01T05:05:26.230 回答
0

看看utl_file

也看看这个AskTom 问题

于 2013-07-30T09:59:16.643 回答