Пример #1
0
 function ErrorNo()
 {
     if ($this->_haserrorfunctions) {
         if (empty($this->_connectionID)) {
             $e = @odbc_error();
         } else {
             $e = @odbc_error($this->_connectionID);
         }
         // bug in 4.0.6, error number can be corrupted string (should be 6 digits)
         // so we check and patch
         if (strlen($e) <= 2) {
             return 0;
         }
         return $e;
     } else {
         return ADOConnection::ErrorNo();
     }
 }
Пример #2
0
	function ErrorNo()
	{
		
		if ($this->_haserrorfunctions) {
			if ($this->_errorCode !== false) {
				// bug in 4.0.6, error number can be corrupted string (should be 6 digits)
				return (strlen($this->_errorCode)<=2) ? 0 : $this->_errorCode;
			}

			if (empty($this->_connectionID)) $e = @odbc_error(); 
			else $e = @odbc_error($this->_connectionID);
			
			 // bug in 4.0.6, error number can be corrupted string (should be 6 digits)
			 // so we check and patch
			if (strlen($e)<=2) return 0;
			return $e;
		} else return ADOConnection::ErrorNo();
	}
 /**
  * Create DB connection
  */
 protected function connect()
 {
     /** @var $this->connection \ADOConnection */
     $this->connection =& NewADOConnection($this->driver);
     $host = $this->host;
     if ($this->port) {
         $host .= ':' . $this->port;
     }
     // connect
     if ($this->db) {
         $this->connection->Connect($host, $this->user, $this->password, $this->db);
     } else {
         $this->connection->Connect($host, $this->user, $this->password);
     }
     // check connection
     if (!$this->connection->IsConnected()) {
         $errMsg = $this->connection->ErrorMsg();
         $this->utilityFuncs->throwException('db_connection_failed', $errMsg);
     }
     // execute initial statement
     if ($this->setDBinit) {
         $this->utilityFuncs->debugMessage('sql_request', [$this->setDBinit]);
         $this->connection->Execute($this->setDBinit);
         // error occured?
         if ($this->connection->ErrorNo() != 0) {
             $errMsg = $this->connection->ErrorMsg();
             $this->utilityFuncs->debugMessage('sql_request_error', [$errMsg], 3);
         }
     }
 }
Пример #4
0
 function checkError($result, $sql)
 {
     if ($result === false) {
         throw new DatabaseBackupException(DatabaseBackupErrorCode::$SQL_EXECUTION_ERROR, DatabaseBackup::$langString['SqlExecutionError'] . "\n<br>\n" . $sql . "\n<br>\n" . $this->connection->ErrorNo() . "\n<br>\n" . $this->connection->ErrorMsg());
     }
 }
Пример #5
0
 function ErrorNo()
 {
     if (extension_loaded("mysqli")) {
         if (empty($this->_connectionID)) {
             return @mysqli_connect_errno();
         } else {
             return @mysqli_errno($this->_connectionID);
         }
     } else {
         return parent::ErrorNo();
     }
 }
 /**
  * Set the Oracle password for a user, if they have an Oracle account. Since we cannot
  * use variable binding, validate the username and password before we pass them to
  * the script
  *
  * @param       $database \b ADOConnection an adodb connection
  * @param       $username \b string username
  * @param       $password \b string the new password
  */
 public static function setOraclePassword(ADOConnection $database, $username, $password)
 {
     $username = strtoupper($username);
     // do not proceed if user does not have an account in this database
     if (!$database->GetOne("SELECT 1 FROM dba_users WHERE username = :u", array('u' => $username))) {
         return false;
     }
     if (!self::validateOraclePassword($password)) {
         throw new Exception('Invalid password');
     }
     if (!self::validateOracleUsername($username)) {
         throw new Exception('Invalid username');
     }
     $password = str_replace('"', '\\"', $password);
     $database->Execute("ALTER USER {$username} IDENTIFIED BY \"{$password}\"");
     if ($database->ErrorNo() > 0) {
         throw new Exception("Database error:" . $database->ErrorMsg());
     }
     return true;
 }