db = new Oracle($dbName, $params); } /** * Restituisce l'oggetto connessione * * @return Oggetto connessione */ public function GetConnection() { return $this->db->_connection; } } class Oracle extends Database { private $_connection; private $_dbName; public function __construct($dbName, $params = "") { $this->_setConnection($dbName, $params); } private function _setConnection($dbName, $params) { if (!is_array($params)) { $this->_connection = false; } else { try { $conn = new PDO("oci:dbname=" . $dbName, $params['DB_USER'], $params['DB_PASS']); if (!$conn) $this->_connection = false; $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $this->_connection = $conn; if(!$this->_connection){ return false; }else{ $query1= "ALTER SESSION SET NLS_DATE_FORMAT = 'DD-MON-RR' NLS_DATE_LANGUAGE = 'AMERICAN' NLS_LANGUAGE = 'AMERICAN' NLS_TERRITORY = 'AMERICA' NLS_TIMESTAMP_FORMAT = 'DD-MON-RR HH.MI.SSXFF AM' NLS_TIMESTAMP_TZ_FORMAT = 'DD-MON-RR HH.MI.SSXFF AM TZR' NLS_TIME_FORMAT = 'HH.MI.SSXFF AM' NLS_TIME_TZ_FORMAT = 'HH.MI.SSXFF AM TZR' "; $sh = $this->prepare($query1); try { $sh->execute(); } catch (PDOException $exc) { } } } catch (PDOException $e) { //echo "

OOPS!
Connessione fallita."; } } } public function getDbName() { return $this->_dbName; } public function prepare($sql) { return $this->_connection->prepare($sql); } public function lastInsertId($class) { $obj = new $class(); $sql = "SELECT " . $obj::SEQ_NAME . ".CURRVAL AS LASTINSERTID FROM DUAL"; $sh = $this->prepare($sql); try { $sh->execute(); $it = $sh->fetch(PDO::FETCH_ASSOC); $ritorno = $it['LASTINSERTID']; } catch (PDOException $exc) { $exc->getMessage(); } return $ritorno; } public function db_transactionStart() { $res = true; if (!$this->db_inTransaction()) { $res = $this->_connection->beginTransaction(); } return $res; } public function db_transactionCommit() { return $this->_connection->commit(); } public function db_transactionRollback() { return $this->_connection->rollback(); } public function db_inTransaction() { return $this->_connection->inTransaction(); } public function db_errorInfo() { return $this->_connection->errorInfo(); } public function disableAutocommmit() { try { $this->prepare("SET AUTOCOMMIT = OFF"); $this->execute(); } catch (Exception $exc) { echo $exc->getMessage(); } } } if (!isset($con)) { $connessione = new Database(DBMS, DB_SERVER, array('DB_USER' => DB_USER, 'DB_PASS' => DB_PASS)); $con = $connessione->db; } if (!isset($conSpid)) { $connessioneSpid = new Database(DBMS, DB_SERVER_SPID, array('DB_USER' => DB_USER_SPID, 'DB_PASS' => DB_PASS_SPID)); $conSpid = $connessioneSpid->db; }