Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 15-10-2008 15:43:53

tun
Nouveau membre
Date d'inscription: 09-10-2008
Messages: 5

[Résolu]Connection de à Oracle avec tnsnames.ora dans Zend

Bonjour,
je débute sur Zend venant de Cake. Si quelqu'un peut essayé de m'aider ce serait avec un grand plaisir.
j'aurais souhaité me connecter à une base de donné Oracle.
J'ai regardé tous les tutoriaux mais je n'ai pas réussi à tomber sur un exemple avec Oracle, pratiquement tous les exemples sont pour mysql.

J'ai installé Zend Studio for Oracle, Zend Core for oracle et le framework Zend 1.6
Tous fonctionnent correctement.
Le fichier index est le point d'entré, j'ai crée des actions avec des vues ayant le même nom, et lorsque je saisie l'adresse www.monsite/controller/action cela me ramène mes pages. Jusqu'ici tous est ok.

J'ai suivi les tutoriaux pour se connecter à une base, et voilà ce que j'ai pu réalisé (pas bien certainement)

J'ai dans mon php.ini
ces deux extension
extension=php_oci8.dll
extension=php_pdo_oci.dll

J'ai donc crée un fichier config.ini sous la racine application comme suit :

[general]
db.adapter = PDO_OCI
db.params.host = nomduserveur
db.params.port = 1521
db.params.username = monUser
db.params.password = monMotdePasse
db.params.dbname = lenomdemabase

J'ai cette chaine de caractère,
$db =
  "(DESCRIPTION =
        (ADDRESS =
          (COMMUNITY = TCP.World)
          (PROTOCOL = TCP)
          (Host = nomduserveur)
          (Port = 1521)
        )
      (CONNECT_DATA =
        (SID = lenomdemabase)
           (GLOBAL_NAME = lenomdemabase)
      )
  )";
et je ne sais pas comment l'interpreter à mon config.ini  ci dessus.

J'ai ensuite selon les tutoriaux effectué ces étapes suivantes :

Dans mon Bootstrap mis ce code:

/Chargement de la configuration
$config = new Zend_Config_Ini('./application/config.ini', 'general');
$registry = Zend_Registry::getInstance();
$registry->set('config', $config);

// Mise en place de la BDD
$db = Zend_Db::factory($config->db);
Zend_Db_Table::setDefaultAdapter($db);


J'ai creer un 
1)ActeurController , avec ce code :
require_once 'Zend/Controller/Action.php';

class ActeurController extends Zend_Controller_Action {
    /**
     * The default action - show the home page
     */
    public function acteurAction() {
    //$this->view->title = "Table Acteur";
       // $this->render();
      
    $this->view->title = "Vu table acteur";
    $acteur = new Acteur();
    $this->view->acteur = $acteur->fetchAll("select * from acteur");
    }
   

2)un modèle Acteur avec dans le fihier :

class Acteur extends Zend_Db_Table{
    /**
     * The default table name
     */
protected $_name = 'acteur';
3) une vue acteur

Mon problème est de savoir quelle est la syntaxe dans le ini  ou y a t-il une autre methode ?
Merci pour ceux qui pourront me venir en aide.

Dernière modification par tun (22-10-2008 13:15:06)

Hors ligne

 

#2 15-10-2008 16:43:19

mikaelkael
Administrateur
Lieu: Donges
Date d'inscription: 18-06-2007
Messages: 1176
Site web

Re: [Résolu]Connection de à Oracle avec tnsnames.ora dans Zend

Hello,

Pour le ini, j'utilise :

Code:

[general]
db.adapter = pdo_oci ; <= minuscule
; ou
db.adapter = oracle ; <= minuscule
db.params.host = nomduserveur
; port : pas nécessaire puisque c'est celui par défaut
db.params.username = monUser
db.params.password = monMotdePasse
db.params.dbname = lenomdemabase
db.params.options.caseFolding  = 2 ; <= pour pouvoir faire protected $_name = 'acteur'; sinon tu dois faire ACTEUR
db.params.options.autoQuoteIdentifiers = 0 ; <= A cause de la gestion des caractères oracle

Ta chaîne $db n'est pas nécessaire : tout est fait par Zend_Db::factory

A+


Less code = less bugs
Contributeur ZF - ZCE - ZFCE - Doc ZF (CHM & PDF) - Vice-trésorier AFUP 2011
Ubuntu 11.04 - ZendServer

Hors ligne

 

#3 20-10-2008 12:53:23

tun
Nouveau membre
Date d'inscription: 09-10-2008
Messages: 5

Re: [Résolu]Connection de à Oracle avec tnsnames.ora dans Zend

avec un peu de retard je tenais à te remercier mikaelkael
J'arrive a me connecter à Oracle.

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages