Hallo Forumsleute,
ich habe keine Oracle Erfahrung (nur MySql) und auch keine DB zur Verfügung - das macht das Testen kompliziert...
Aufgabenstellung:
Ich muss an eine Prozedur aus PHP heraus drei Paramter übergeben.
KASSE_UPDATE(varchar, varchar, number);
Über die Konsole beim Kunden geht das so:
execute KASSE_UPDATE('LURA','05022014',123.91);
Dieser Aufruf funktioniert nicht, Fehlercodes liegen mir leider nicht vor:
[highlight=sql]
$conn = oci_connect("user", "pass", "db");
if (!$conn) {
return false;
}
$sql = 'BEGIN KASSE_UPDATE(:Konto, atum, :Neuer_Wert); END;';
$stmt = oci_parse($conn, $sql);
oci_bind_by_name($stmt, ":Konto", 'LURA', 32);
oci_bind_by_name($stmt, "atum", '05022014', 32);
oci_bind_by_name($stmt, ":Neuer_Wert", 123.91, 32);
oci_execute($stmt);
oci_free_statement($stmt);
oci_close($conn);
[/highlight]
Ich habe dann noch das hier getestet, da gab es dann Fehlercodes:
[highlight=sql]
$conn = oci_connect("user", "pass", "db");
if (!$conn) {
return false;
}
$sql = "KASSE_UPDATE('LURA','05022014',123.91);";
$stmt = oci_parse($conn, $sql);
$execute_return = oci_execute($stmt); // Execute Statement
if (!$execute_return) {
echo "<h2>EXEC NOT</h2>";
$e = oci_error($stmt);
var_dump ( $e );
}
[/highlight]
******
Fehlermeldungen
EXEC NOT
--------------------------------------------------------------------------------
[highlight=php]
array(4) {
["code"]=> int(900)
["message"]=> string(34) "ORA-00900: Ungültige SQL-Anweisung"
["offset"]=> int(0)
["sqltext"]=> string(39) "KASSE_UPDATE('LURA','05022014',123.91);"
}
[/highlight]
--------------------------------------------------------------------------------
******
EXEC NOT
--------------------------------------------------------------------------------
[highlight=php]
array(4) {
["code"]=> int(933)
["message"]=> string(49) "ORA-00933: SQL-Befehl wurde nicht korrekt beendet"
["offset"]=> int(56)
["sqltext"]=> string(44) "call KASSE_UPDATE('LURA','05022014',123.91);"
}
[/highlight]
--------------------------------------------------------------------------------
******
Ich komme damit überhaupt nicht weiter, hat jemand von Euch Hinweise / Ideen?
Schöne Grüße aus Köln
Günther
ich habe keine Oracle Erfahrung (nur MySql) und auch keine DB zur Verfügung - das macht das Testen kompliziert...
Aufgabenstellung:
Ich muss an eine Prozedur aus PHP heraus drei Paramter übergeben.
KASSE_UPDATE(varchar, varchar, number);
Über die Konsole beim Kunden geht das so:
execute KASSE_UPDATE('LURA','05022014',123.91);
Dieser Aufruf funktioniert nicht, Fehlercodes liegen mir leider nicht vor:
[highlight=sql]
$conn = oci_connect("user", "pass", "db");
if (!$conn) {
return false;
}
$sql = 'BEGIN KASSE_UPDATE(:Konto, atum, :Neuer_Wert); END;';
$stmt = oci_parse($conn, $sql);
oci_bind_by_name($stmt, ":Konto", 'LURA', 32);
oci_bind_by_name($stmt, "atum", '05022014', 32);
oci_bind_by_name($stmt, ":Neuer_Wert", 123.91, 32);
oci_execute($stmt);
oci_free_statement($stmt);
oci_close($conn);
[/highlight]
Ich habe dann noch das hier getestet, da gab es dann Fehlercodes:
[highlight=sql]
$conn = oci_connect("user", "pass", "db");
if (!$conn) {
return false;
}
$sql = "KASSE_UPDATE('LURA','05022014',123.91);";
$stmt = oci_parse($conn, $sql);
$execute_return = oci_execute($stmt); // Execute Statement
if (!$execute_return) {
echo "<h2>EXEC NOT</h2>";
$e = oci_error($stmt);
var_dump ( $e );
}
[/highlight]
******
Fehlermeldungen
EXEC NOT
--------------------------------------------------------------------------------
[highlight=php]
array(4) {
["code"]=> int(900)
["message"]=> string(34) "ORA-00900: Ungültige SQL-Anweisung"
["offset"]=> int(0)
["sqltext"]=> string(39) "KASSE_UPDATE('LURA','05022014',123.91);"
}
[/highlight]
--------------------------------------------------------------------------------
******
EXEC NOT
--------------------------------------------------------------------------------
[highlight=php]
array(4) {
["code"]=> int(933)
["message"]=> string(49) "ORA-00933: SQL-Befehl wurde nicht korrekt beendet"
["offset"]=> int(56)
["sqltext"]=> string(44) "call KASSE_UPDATE('LURA','05022014',123.91);"
}
[/highlight]
--------------------------------------------------------------------------------
******
Ich komme damit überhaupt nicht weiter, hat jemand von Euch Hinweise / Ideen?
Schöne Grüße aus Köln
Günther
Comment