我已经开始了一个项目,用户可以连接到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);
}
答案 0 :(得分:1)
<强> OCI_PARSE 强>
resource oci_parse(resource $ connection,string $ sql_text)
它期望SQL语句而不是文件名。
你想尝试:
$s = oci_parse($c, file_get_contents('/oracle/dropall'));