PHPを使用してOracleデータベースに接続されたAndroidアプリケーションを開発しています。
また、Oracle で提供されているセマンティック テクノロジ (具体的には、SEM_MATCH、SEM_MODELS、SEM_RULEBASES など) を使用して PL/SQL ステートメントを使用しています。
しかし、それはうまく動作しません...ただし、AndroidとOracleの間の接続はうまく機能します。
PHPコード全体を以下に示します
<?php
function db_connect()
{
$db = "(DESCRIPTION=(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 203.249.105.20)(PORT = 1521)))(CONNECT_DATA=(SID=orcl)))";
if ($conn=oci_connect("rdfusr", "rdfusr", $db)){
echo "Successfully connected to Oracle.<br />\n";
return $conn;
} else {
$err = OCIError();
echo "Oracle Connect Error " . $err[text];
}
}
$conn = db_connect();
$stid = oci_parse($conn, "SELECT nm.NAME, nm.FLOOR, nm.ROOM_NUM, nm.PHONENUM, nm.FID FROM
(SELECT z FROM TABLE(SEM_MATCH('{?y :soldIn ?z}',
SEM_Models('shopping_model'),
SEM_Rulebases('owlprime','activity_rb'),
SEM_ALIASES(SEM_ALIAS('','http://www.example.org/space/')),null))
WHERE y = 'http://www.example.org/activity/Carbonara') ont,BUSINESSINFO nm
WHERE ont.z = nm.NAME;");
oci_execute($stid);
while (($row = oci_fetch_array($stid, OCI_BOTH))) {
$output[]=$row;
}
print(json_encode($output));
oci_free_statement($stid);
oci_close($conn);
?>
事前に感謝し、あらゆる種類の方法を教えてください...