如何使用php运行oracle脚本

如何使用php运行oracle脚本,php,oracle,Php,Oracle,我启动了一个项目,用户可以连接到mySQL数据库或oracle数据库。我下载了mySQL部分,但是oracle有点困难。标准查询可以工作,例如SELECT*FROM author,但当我尝试加载脚本以创建模式时,会出现无效的操作错误。我试过以各种方式使用“START”和“@”,但都没有用。这些命令在命令行中工作,但在php中不工作。我尝试了以下方法: else if($databaseType == "Oracle") { $c = oci_connect($username, $passwor

我启动了一个项目,用户可以连接到mySQL数据库或oracle数据库。我下载了mySQL部分,但是oracle有点困难。标准查询可以工作,例如
SELECT*FROM author
,但当我尝试加载脚本以创建模式时,会出现无效的操作错误。我试过以各种方式使用“START”和“@”,但都没有用。这些命令在命令行中工作,但在php中不工作。我尝试了以下方法:

else if($databaseType == "Oracle")
{
$c = oci_connect($username, $password, $server);
     if (!$c) {
       echo "Unable to connect: " . var_dump( oci_error() );
       die();
     }


    // Delete previous schema
    $s = oci_parse($c, "@/oracle/dropall");
    oci_execute($s, OCI_DEFAULT);

    // Create schema
    $s = oci_parse($c, "@/oracle/oracle");
    oci_execute($s, OCI_DEFAULT);

    // Create first trigger
    $s = oci_parse($c, "@/oracle/oracle_trigger1");
    oci_execute($s, OCI_DEFAULT);

    // Create second trigger
    $s = oci_parse($c, "@/oracle/oracle_trigger2");
    oci_execute($s, OCI_DEFAULT);

    // Populate the database
    $s = oci_parse($c, "@/oracle/oracle_populate");
    oci_execute($s, OCI_DEFAULT);


    // Commit to save changes...
    oci_commit($c);

    // Logoff from Oracle...
    oci_free_statement($s);
    oci_close($c);
}

OCI\u解析

资源oci_解析(资源$connection,字符串$sql_text)

它需要SQL语句而不是文件名

您想试试:

 $s = oci_parse($c, file_get_contents('/oracle/dropall'));

这就是我需要的。非常感谢。