【问题标题】:how to execute a cmd in sql?如何在sql中执行cmd?
【发布时间】:2018-12-10 13:56:07
【问题描述】:

我正在使用 sys_exec 但无法找到正确的执行方式,请任何人帮助我,这对我来说更好。我正在使用 Oracle sql

以下是我的代码。

CREATE or REPLACE TRIGGER sms_trigger
AFTER INSERT ON student
FOR EACH ROW
ENABLE
DECLARE lclcmd CHAR(255);
 res VARCHAR(255);
 BEGIN

   lclcmd := CONCAT('php C:/xampp/htdocs/sample/sms_send.php','something');
  res := sys_exec(lclcmd);

END;
/

【问题讨论】:

  • PHP安装文件夹是否在PATH中?修改 PATH 后 MySQL 服务器是否重新启动?
  • 是的,这是PHP安装文件夹PATH。
  • 您使用的是哪个 dbms? (该代码是特定于产品的。)
  • 我正在使用 Oracle sql

标签: php sql oracle-sqldeveloper


【解决方案1】:

您可能只是在.php 文件和参数之间缺少一个空格。使用您的代码,调用命令行将如下所示;

php C:/xampp/htdocs/sample/sms_send.phpsomething

我怀疑你有一个同名的文件。在.php 后面加一个空格,看看会发生什么:

lclcmd := CONCAT('php C:/xampp/htdocs/sample/sms_send.php ','something');

发布您可能收到的错误消息。

【讨论】:

  • 我正在使用这样的 lclcmd := CONCAT('php ','C:/xampp/htdocs/sample/sms_send.php');
  • @ALPHA 这不是你的问题所说的。无论如何,请尝试指定 php 的完整路径
  • 这是 PHP 的完整路径,从 windows 命令提示行执行时执行完美。
  • @ALPHA 不,这不是完整路径;完整路径类似于C:\PHP7.1\bin\php.exe 而不仅仅是php
  • 这里我正在运行一个文件。
猜你喜欢
  • 2015-07-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多