Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

PDO को Oracle डेटाबेस से कनेक्ट करें

जांचें कि पीडीओ और ओसीआई ड्राइवर ठीक से स्थापित हैं या नहीं

निम्नलिखित कोड के साथ प्रयास करें

class PDOConnection {

    private $dbh;

    function __construct() {
        try {

            $server         = "127.0.0.1";
            $db_username    = "SYSTEM";
            $db_password    = "Oracle_1";
            $service_name   = "ORCL";
            $sid            = "ORCL";
            $port           = 1521;
            $dbtns          = "(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = $server)(PORT = $port)) (CONNECT_DATA = (SERVICE_NAME = $service_name) (SID = $sid)))";

            //$this->dbh = new PDO("mysql:host=".$server.";dbname=".dbname, $db_username, $db_password);

            $this->dbh = new PDO("oci:dbname=" . $dbtns . ";charset=utf8", $db_username, $db_password, array(
                PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
                PDO::ATTR_EMULATE_PREPARES => false,
                PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC));

        } catch (PDOException $e) {
            echo $e->getMessage();
        }
    }

    public function select($sql) {
        $sql_stmt = $this->dbh->prepare($sql);
        $sql_stmt->execute();
        $result = $sql_stmt->fetchAll(PDO::FETCH_ASSOC);
        return $result;
    }

    public function insert($sql) {
        $sql_stmt = $this->dbh->prepare($sql);
        try {
            $result = $sql_stmt->execute();
        } catch (PDOException $e) {
            trigger_error('Error occured while trying to insert into the DB:' . $e->getMessage(), E_USER_ERROR);
        }
        if ($result) {
            return $sql_stmt->rowCount();
        }
    }

    function __destruct() {
        $this->dbh = NULL;
    }

}

$dbh = new PDOConnection();

$dbh->select($select_sql);
$dbh->insert($insert_sql);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. sqlplus के साथ शेल स्क्रिप्ट और पासवर्ड पर विशेष वर्ण

  2. किसी दृश्य के विरुद्ध क्वेरी करते समय, दृश्य की परिभाषा में फ़िल्टरिंग क्लॉज़ को नज़रअंदाज़ किया जा रहा है

  3. SQL - जहां स्थिति में फ़िल्टर किए गए रिकॉर्ड के अलावा अतिरिक्त रिकॉर्ड प्राप्त करें

  4. बड़े सीएलओबी के साथ सी # से संग्रहित प्रक्रिया को कॉल करने में समस्याएं

  5. ORA-01792:तालिका या दृश्य में स्तंभों की अधिकतम संख्या 1000 त्रुटि है, जबकि sql में WITH का उपयोग करते हुए