Hvordan ender man en 'Oracle Persistent Connection'?
HejJeg har på det sidste konfigureret php4 og Apache så den kan virke fint med Oracle 10g database på windows.
Oracle 10g har Apache and PHP moduler indbygget. Det hele virker fint.
Jeg har brugt (ociplogon) i stedet for (OCILogon) i min php fil og det virker meget godt med at etablere mange child process connections.
Men problemet er at de kører for evigt og man kan ikke lave timeout på..
Er der en eller anden måde, hvor man kan slå child processes ihjel, hvis man definerer en timeout eller for eksempl at slå den process, der har været inaktiv i et stykke tid.
(PS: Hvorfor egentlig skal man have mange forbindelser til databasen, hvor de ikkehar været aktive i lang tid)
Er der en eller anden funktion i PHP, som kan gøre det her? kan I hjælpe mig med en script kode, der gøre det.
Her er hvordan min simple php script ser ud:
---------------------------------------------------------------
<?php
$db_conn = ociplogon( "king", "camilla", "PROD" );
$cmdstr = "select FIRSTNAME, LASTNAME from person where ID BETWEEN 14106 AND 14125";
$parsed = ociparse($db_conn, $cmdstr);
ociexecute($parsed);
$nrows = ocifetchstatement($parsed, $results);
echo "<html><head><title>Oracle PHP Test</title></head><body>";
echo "<center><h2>Oracle PHP Test</h2><br>";
echo "<table border=1 cellspacing='0' width='50%'>\n<tr>\n";
echo "<td><b>Name</b></td>\n<td><b>Salary</b></td>\n</tr>\n";
for ($i = 0; $i < $nrows; $i++ )
{
echo "<tr>\n";
echo "<td>" . $results["FIRSTNAME"][$i] . "</td>";
echo "<td>" . $results["LASTNAME"][$i] . "</td>";
//echo "<td>$ " . number_format($results["PERSONMASTER_ID"][$i], 2). "</td>";
echo "</tr>\n";
}
echo "<tr><td colspan='2'> Number of Rows: <B>$nrows</B></td></tr></table>";
echo "<br><em>Tillykke det virker!</em><br></center></body></html>\n";
ocilogoff($db_conn);
?>
---------------------------------------------------------------
