Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从ORACLE SQL数据库调用/触发PHP脚本_Php_Oracle_Triggers - Fatal编程技术网

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

如何从ORACLE SQL数据库调用/触发PHP脚本,php,oracle,triggers,Php,Oracle,Triggers,我的任务是每天检查我的DB表。超过10年的行必须自动删除,如果我的行的状态在5天之后没有改变,则应自动发送电子邮件。我的WebApplication中已经有一个脚本,但问题是客户端必须运行我的应用程序才能在其中执行脚本。没那么聪明。 我在谷歌上搜索了很多,但找不到一些有好例子的好方法 有人能很好地解决我的问题吗? 如果条件为真,如何从Oracle触发PHP脚本 编辑: 对于我的自动删除概念,我有一个解决方案 但对于我的电子邮件问题,我发现了一些东西: grant execute on UTL_M

我的任务是每天检查我的DB表。超过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服务器是错误的。我只是使用以下查询获取服务器:

    SELECT * FROM dba_network_acls; 
    
    感谢大家提供的每一条信息和帮助


    -可以关闭-

    创建调用数据库的PHP脚本,检查条件是否为真,然后处理条件为真所需的任何内容


    然后,您需要设置一个CRON作业,以便在特定时间触发脚本。您可以在这里阅读关于设置CRON的内容

    我认为如果您编写一个PL/SQL脚本来完成您在PHP中所做的工作,并在DB中安排一个作业来运行此PL/SQL,您会过得更好。

    阅读并阅读。您可以简单地触发存储过程,而无需使用PHP。请提供脚本的详细信息