BUG 9087 Procedimientos Almacenado que empiezan con BEGIN ...SOLVED

- Procedimientos Almacenado no funcionan con executeQuery en Triggers.
- Several Adjustments for execution the Queries, CRUDs, Stored Procedures and User Defined Functions in Oracle(2).
This commit is contained in:
Hector Cortez
2012-06-13 11:29:43 -04:00
parent e0d178635b
commit 8da6572fad

View File

@@ -659,7 +659,6 @@ function executeQueryOci($sql, $connection, $aParameter = array())
$sHostspec = $aDNS["hostspec"]; $sHostspec = $aDNS["hostspec"];
$sDatabse = $aDNS["database"]; $sDatabse = $aDNS["database"];
$sPort = $aDNS["port"]; $sPort = $aDNS["port"];
// $sEncoding = $aDNS["encoding"];
if ($sPort != "1521") { // if not default port if ($sPort != "1521") { // if not default port
$conn = oci_connect($sUsername, $sPassword, $sHostspec . ":" . $sPort . "/" . $sDatabse); $conn = oci_connect($sUsername, $sPassword, $sHostspec . ":" . $sPort . "/" . $sDatabse);
@@ -693,7 +692,6 @@ function executeQueryOci($sql, $connection, $aParameter = array())
oci_close($conn); oci_close($conn);
return $result; return $result;
break; break;
case preg_match("/^(INSERT|UPDATE|DELETE)\s/i", $sql): case preg_match("/^(INSERT|UPDATE|DELETE)\s/i", $sql):
$stid = oci_parse($conn, $sql); $stid = oci_parse($conn, $sql);
$isValid = true; $isValid = true;
@@ -710,14 +708,14 @@ function executeQueryOci($sql, $connection, $aParameter = array())
oci_rollback($conn); oci_rollback($conn);
$isValid = false; $isValid = false;
} }
oci_free_statement($stid);
oci_close($conn);
if ($isValid) { if ($isValid) {
return true; return true;
} }
else { else {
return oci_error(); return oci_error();
} }
oci_free_statement($stid);
oci_close($conn);
break; break;
default: default:
// Stored procedures // Stored procedures
@@ -725,7 +723,8 @@ function executeQueryOci($sql, $connection, $aParameter = array())
$aParameterRet = array(); $aParameterRet = array();
if (count($aParameter) > 0){ if (count($aParameter) > 0){
foreach ($aParameter as $key => $val) { foreach ($aParameter as $key => $val) {
$aParameterRet[$key] = $aParameter[$key]; $aParameterRet[$key] = $val;
// The third parameter ($aParameterRet[$key]) returned a value by reference.
oci_bind_by_name($stid, $key, $aParameterRet[$key]); oci_bind_by_name($stid, $key, $aParameterRet[$key]);
} }
} }