blog sur le développement web, jquery,css3, Magento, Symphony, php et bien d'autres choses

Articles tagués ‘ZEND_DB’

Zend_DB : connexion à une base de données ORACLE avec MAGENTO

Si vous possédez une version Enterprise de MAGENTO < 1.11 vous ne pouvez pas directement vous connectez à une base Oracle car pour toutes les versions infèrieures à 1.11 MAGENTO ne sait travailler qu’avec du MYSQL.

Hors pour « by-pass » cette contrainte vous pouvez déclarer un model de connexion à une base ORACLE en utilisant ZEND_DB

Voici donc un élément de réponse pour établir votre connexion à votre BDD ORACLE.

d’abord activer dans le php.ini le module php_oci8.dll (rajouter le il n’y est pas de base)

<?php

require_once('Zend/Db.php');

class NameSpace_ModuleName_Model_OracleConnexion {

    protected $db = null;
    protected $_userName = '';
    protected $_passWord = '';
    protected $_dbName   = '';
    protected $_host     = '';

    function __construct() {
        $params = array (
                    'host'     => $this->_host,
                    'username' => $this->_userName,
                    'password' => $this->_passWord,
                    'dbname'   => $this->_dbName
                  );

        $this->db = Zend_Db::factory('oracle', $params);
        //afin de vérifier que la connexion se fait bien
        // on peut faire un var dump de row par exemple
        $row = $this->db->fetchRow("select SYSDATE FROM DUAL");
 }
}

Il ne nous reste plus qu’a appeller ce model pour créer la connexion. ;)

Si vous travailler à distance en essayant d’atteindre un serveur sur un réseau quelconque, il se peut que vous n’ayez pas les droits x ou y d’accéder à cette machine. Vous pourrez alors obtenir le message suivant :

TNS:could not resolve the connect identifier specified

Afin d’être biensur que c’est une erreur en lien avec la sécurité d’accès au serveur distant je vous propose de télécharger le logiciel « database Oracle Express Edition » que vous trouverez à cette adresse

Une fois ce logiciel installé, essayez de vous connecter avec les informations qui concerne votre base (host mdp, user etc…) si encore ici vous ne pouvez pas vous connecter alors, c’est confirmé, vous n’avez pas le droit d’accéder à cette machine. Ce test permet de valider que le problème ne vient pas de la couche PHP.

Suivre

Recevez les nouvelles publications par mail.

Rejoignez 295 autres abonnés