Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
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
Hello,
Pour le ini, j'utilise :
[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+
Hors ligne
avec un peu de retard je tenais à te remercier mikaelkael
J'arrive a me connecter à Oracle.
Hors ligne
Pages: 1