2010-12-14 19 views
0

私は、ユーザーがmySQLデータベースまたはoracleデータベースに接続できるプロジェクトを開始しました。私はmySQLの部品を落としましたが、Oracleは少し難しいです。標準クエリはSELECT * FROM authorのように機能しますが、スキーマを作成するためにスクリプトを読み込もうとすると無効な操作エラーが発生します。私は 'START'と '@'をさまざまな方法で使ってみましたが、役に立たなかった。これらのコマンドはコマンドラインでは動作しますが、PHPでは動作しません。私は、次のことを試してみた:phpを使ってoracleスクリプトを実行する方法

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); 
} 

答えて

1

OCI_PARSE

リソースoci_parse(リソース$接続、文字列$ SQL_TEXT)

これは、SQL文の代わりに、ファイル名を期待します。

あなたは試してみたい:

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

をこれは私が必要なものです。ありがとうございました! –

関連する問題