Bonjour,
Je suis débutant et je vous écris afin que vous puissiez m'aider sur mon application Web avec CakePHP.
J'essaye vraiment de faire une requête simple afin de vérifier si ma connexion avec ma base de données Oracle fonctionne.
Environnement de travail :
- Je suis connecté à une VM à distance configuré sous Microsoft Server 2012.
- J'utilise pour héberger mon application un serveur d'hébergement IIS.
- Les IHM sont bien en ligne mais je n'arrive pas à vérifier ma connexion à ma BDD Oracle.
Après avoir suivi plusieurs tutoriels et axes de connexion, comme les liens odbc ou oci_connect, je vais vous montre ce que j'ai pour l'instant et peut-être vous pourriez me préconiser une solution en particulier :
Dans /app/Config/database.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 <?php class DATABASE_CONFIG { public $default = array( 'datasource' => 'Database/Oracle', 'driver' => 'oracle', 'connect' => 'oci_pconnect', 'persistent' => false, 'host' => '*****', 'login' => '*****', 'password' => '*****', 'database' => '*****:1521/TESTCUST10', 'prefix' => '', 'schema' => 'SYSTEM', //'encoding' => 'UTF8' ); }
J'ai tiré les différentes informations de mon tnsnames.ora et j'ai au préalable configuré les éléments dans \lib\Cake\Model\Datasource et lib\Cake\Model\Datasource\Database pour une connexion Oracle.
Je peux également utilisé 'driver' => 'odbc' pour effectuer ma connexion, je ne sais pas ce qui est le mieux. Grâce au lien que j'ai configuré via le logiciel de Microsoft.
Dans mon Controller, je voulais essayer une ligne basique, peut-être que je me trompe dans la syntaxe déjà ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <?php App::uses('AppController', 'Controller'); class TicketsController extends AppController{ public function index() { $data['customer'] = $this->Tickets->query("SELECT name from customer where customer_id = '1996';"); debug($data); } }
Faut-il rajouter quelque chose dans le MODEL ? si, oui je dois le nommer Tickets.php ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <?php App::uses('AppModel', 'Model'); class Tickets extends AppModel { public $displayField = 'name'; public $useDbConfig = 'default'; } }
L'erreur qui est inscrit sur le navigateur :Call to a member function query() on a non-object.
Merci par avance. Je me tiens à votre disposition à tout moment.
Partager