Ich habe nun etwas versucht, aber irgendwie bekomme ich es doch nicht hin..
<?PHP
// In diesem Beispiel wird beschrieben wie man eine StoredProcedure aufruft,
// einen Integer übergibt und diesen wieder ausgibt.
// Oracle Client muß installiert sein und die extension php_oci8 muß installiert sein!
// Bei dem Beispiel: ps
// Host-Name: rechner
// Port-Nummer: 1521
// Variablen
$usr = "Dein User";
$pwd = "Dein Passwort";
$sid = "Dienstname";
// Verbindung zum Oracle-Server herstellen
$conn = OCILogon ($usr, $pwd, $sid);
// SoredProcedure t_phpsaveproc(integer) aufrufen
$stmt = OCIParse($conn, "begin :result := t_phpsaveproc(1); end;");
// OCIBindByName bindet die Variable result an den Platzhalter $result
OCIBindByName($stmt, "result", &$result);
// Commit, hier werden die "Jobs" ausgeführt.
OCIExecute($stmt);
// Mit OCIResult wird der Rückgabewert der StoredProcedure aus der Menge in die PHP-Variable $result
geschrieben
OCIResult($stmt,$result);
// Ausgabe des Rückgabewertes
echo $result;
// Verbindung zum Oracle-Server schließen
ocilogoff($conn);
?>
habe dieses Testscript genommen und habe es mit meinen Angaben ausgefüllt. Mein Ausgangsscript sieht ja folgendermassen aus:
DECLARE
P_C VARCHAR2(200);
P_ID NUMBER;
P_OUT VARCHAR2(200);
BEGIN
P_C := '41795849067';
P_ID := 1;
P_OUT := NULL;
DB_KDB.V5 ( P_C, P_ID, P_OUT );
DBMS_OUTPUT.Put_Line('P_OUT = ' || P_OUT);
COMMIT;
END;
Wie muss ich nun dies in das obige Skript einfügen?