如何从 ORACLE SQL 数据库调用/触发 PHP 脚本

我的任务是我需要每天检查我的数据库表。必须自动删除超过 10 年的行,如果我的行的状态自 5 天以来没有改变,则应发送自动电子邮件。我的 WebApplication 中已经有一个脚本,但问题是客户端必须运行我的应用程序才能执行其中的脚本。它没那么聪明。我用谷歌搜索了很多,但找不到一些很好的解决方案和很好的例子。


有人对我的问题有很好的解决方案吗?如果条件为真,我如何从 Oracle 触发 PHP 脚本?


编辑:


对于我的自动删除概念,我有一个解决方案。


但是对于我的电子邮件问题,我发现了一些东西:


grant execute on UTL_MAIL to public;


BEGIN

  EXECUTE IMMEDIATE 'ALTER SESSION SET smtp_out_server = ''127.0.0.1''';

  UTL_MAIL.send(sender => 'test@mail.com',

            recipients => 'test@mail.de',

               subject => 'Test Mail',

               message => 'Hello World',

             mime_type => 'text; charset=us-ascii');

END;

不幸的是,我收到以下错误消息:


*24247。00000 - “网络访问被访问控制列表 (ACL) 拒绝” *原因:没有为目标主机分配访问控制列表 (ACL) 或访问目标主机所需的权限未授予访问中的用户控制清单。 操作:确保已将访问控制列表 (ACL) 分配给目标主机,并且已将访问目标主机所需的权限授予用户。


任何想法我做错了什么以及如何解决这个问题?


编辑:

修复了我的 smtp_out_server 是错误的。我只是通过使用以下查询获得了服务器:


SELECT * FROM dba_network_acls; 

谢谢大家的每一个信息和帮助尝试!


-可以关闭-


繁花如伊
浏览 167回答 2
2回答

慕田峪4524236

创建调用数据库的 PHP 脚本,检查条件是否为真,然后在条件为真时处理所需的任何内容。然后,您需要设置 CRON 作业以使脚本在特定时间触发。您可以在此处阅读有关设置 CRON 的信息https://help.dreamhost.com/hc/en-us/articles/215767047-Creating-a-custom-Cron-Job

噜噜哒

我认为如果你编写一个 PL/SQL 脚本来做你在 PHP 中所做的事情,并在数据库中安排一个作业来运行这个 PL/SQL,你会好得多。
打开App,查看更多内容
随时随地看视频慕课网APP