From daee072abb82bc1e0d742077d96b3ceaad3d959f Mon Sep 17 00:00:00 2001 From: "Namhyeon, Go" Date: Fri, 14 Sep 2018 01:09:20 +0900 Subject: [PATCH] Update database.oracle.php --- helper/database.oracle.php | 185 ++++++++++++++++++++----------------- 1 file changed, 101 insertions(+), 84 deletions(-) diff --git a/helper/database.oracle.php b/helper/database.oracle.php index 14866d1..a373d34 100644 --- a/helper/database.oracle.php +++ b/helper/database.oracle.php @@ -6,102 +6,119 @@ * @brief Oracle database helper for ReasonableFramework */ -function get_db_orable_binded_sql($sql, $bind) { - return get_db_binded_sql($sql, $bind); +if(!function_exists("get_db_orable_binded_sql")) { + function get_db_orable_binded_sql($sql, $bind) { + return get_db_binded_sql($sql, $bind); + } } -function get_db_oracle_stmt($sql, $bind) { - $stmt = NULL; +if(!function_exists("get_db_oracle_stmt")) { + function get_db_oracle_stmt($sql, $bind) { + $stmt = NULL; - $sql = get_db_orable_binded_sql($sql, $bind); - $stmt = oci_parse($conn, $sql); - - return $stmt; + $sql = get_db_orable_binded_sql($sql, $bind); + $stmt = oci_parse($conn, $sql); + + return $stmt; + } } -function exec_db_oracle_connect($host, $port, $user, $password, $options=array()) { - $conn = NULL; - $envs = array(); +if(!function_exists("exec_db_oracle_connect")) { + function exec_db_oracle_connect($host, $port, $user, $password, $options=array()) { + $conn = NULL; + $envs = array(); - if(!function_exists("oci_connect") { - exit("OCI (Oracle Extension for PHP) not installed!"); - } - - if(count($options) == 0) { - $options["ENV.NLS_LANG"] = "KOREAN_KOREA.AL32UTF8"; - $options["DESCRIPTION.ADDRESS_LIST.ADDRESS.PROTOCOL"] = "TCP"; - $options["DESCRIPTION.CONNECT_DATA.SERVER"] = "DEDICATED"; - $options["DESCRIPTION.CONNECT_DATA.SERVICE_NAME"] = "ORCL"; - } - - // set envs - foreach($options as $k=>$v) { - $k_terms = explode(".", $k); - if(count($k_terms) > 1) { - if($k_terms[0] == "ENV") { - $envs[] = $k_terms[1] . "=" . $options[$k]; - } - } - } - - foreach($envs as $env) { - putenv($env); - } - - // set host, port - $options["DESCRIPTION.ADDRESS_LIST.ADDRESS.HOST"] = $host; - $options["DESCRIPTION.ADDRESS_LIST.ADDRESS.PORT"] = $port; - - $dbsid = "( - DESCRIPTION = - (ADDRESS_LIST = - (ADDRESS = - (PROTOCOL = " . $options["DESCRIPTION.ADDRESS_LIST.ADDRESS.PROTOCOL"] . ") - (HOST = " . $options["DESCRIPTION.ADDRESS_LIST.ADDRESS.HOST"] . ") - (PORT = " . $options["DESCRIPTION.ADDRESS_LIST.ADDRESS.PORT"] . ") - ) - ) - - (CONNECT_DATA = - (SERVER = " . $options["DESCRIPTION.CONNECT_DATA.SERVER"] . ") - (SERVICE_NAME = " . $options["DESCRIPTION.CONNECT_DATA.SERVICE_NAME"] . ") - ) - ) "; - - $conn = @oci_connect($user, $password, $dbsid); - - return $conn; -} - -function exec_db_oracle_fetch_all($sql, $bind, $conn) { - $rows = array(); - - $required_functions = array("oci_parse", "oci_execute", "oci_fetch_assoc", "oci_free_statement"); - foreach($required_functions as $func_name) { - if(!function_exists($func_name)) { + if(!function_exists("oci_connect")) { exit("OCI (Oracle Extension for PHP) not installed!"); } + + if(count($options) == 0) { + $options["ENV.NLS_LANG"] = "KOREAN_KOREA.AL32UTF8"; + $options["DESCRIPTION.ADDRESS_LIST.ADDRESS.PROTOCOL"] = "TCP"; + $options["DESCRIPTION.CONNECT_DATA.SERVER"] = "DEDICATED"; + $options["DESCRIPTION.CONNECT_DATA.SERVICE_NAME"] = "ORCL"; + } + + // set envs + foreach($options as $k=>$v) { + $k_terms = explode(".", $k); + if(count($k_terms) > 1) { + if($k_terms[0] == "ENV") { + $envs[] = $k_terms[1] . "=" . $options[$k]; + } + } + } + + foreach($envs as $env) { + putenv($env); + } + + // set host, port + $options["DESCRIPTION.ADDRESS_LIST.ADDRESS.HOST"] = $host; + $options["DESCRIPTION.ADDRESS_LIST.ADDRESS.PORT"] = $port; + + $dbsid = "( + DESCRIPTION = + (ADDRESS_LIST = + (ADDRESS = + (PROTOCOL = " . $options["DESCRIPTION.ADDRESS_LIST.ADDRESS.PROTOCOL"] . ") + (HOST = " . $options["DESCRIPTION.ADDRESS_LIST.ADDRESS.HOST"] . ") + (PORT = " . $options["DESCRIPTION.ADDRESS_LIST.ADDRESS.PORT"] . ") + ) + ) + + (CONNECT_DATA = + (SERVER = " . $options["DESCRIPTION.CONNECT_DATA.SERVER"] . ") + (SERVICE_NAME = " . $options["DESCRIPTION.CONNECT_DATA.SERVICE_NAME"] . ") + ) + ) "; + + $conn = @oci_connect($user, $password, $dbsid); + + return $conn; } - - $stmt = get_db_oracle_stmt($sql, $bind); - oci_execute($stmt); - - while($row = oci_fetch_assoc($stmt)) { - $rows[] = $row; - } - - oci_free_statement($stmt); - - return $rows; } -function exec_db_oracle_query($sql, $bind, $conn) { - $flag = false; +if(!function_exists("exec_db_oracle_fetch_all")) { + function exec_db_oracle_fetch_all($sql, $bind, $conn) { + $rows = array(); - $stmt = get_db_oracle_stmt($sql, $bind); - $flag = oci_execute($stmt); + $required_functions = array("oci_parse", "oci_execute", "oci_fetch_assoc", "oci_free_statement"); + foreach($required_functions as $func_name) { + if(!function_exists($func_name)) { + exit("OCI (Oracle Extension for PHP) not installed!"); + } + } - oci_free_statement($stmt); + $stmt = get_db_oracle_stmt($sql, $bind); + oci_execute($stmt); - return $flag; + while($row = oci_fetch_assoc($stmt)) { + $rows[] = $row; + } + + oci_free_statement($stmt); + + return $rows; + } +} + +if(!function_exists("exec_db_oracle_query")) { + function exec_db_oracle_query($sql, $bind, $conn) { + $flag = false; + + $stmt = get_db_oracle_stmt($sql, $bind); + $flag = oci_execute($stmt); + + oci_free_statement($stmt); + + return $flag; + } +} + +if(!function_exists("close_db_oracle_connect")) { + function close_db_oracle_connect() { + $dbc = get_scope("dbc"); + return oci_close($dbc); + } }