2010-11-29 49 views
0

Je suis en train de coder une application mac en XCode qui bascule entre les bases de données mySQL et Oracle. J'ai réussi à communiquer avec ma base de données mySQL via PHP, mais je ne sais pas comment me connecter à ma base de données Oracle (11g XE) fonctionnant sous WinXP dans VMWare sur mon mac. J'ai vérifié phpinfo et j'ai installé odbc avec ma version de PHP et j'ai mis mon réseau VMWare en NAT. Je suis un peu nouveau à cela. Aucun conseil?connecter mac os x php à oracle XE sur vmware

J'ai essayé ce script:

<?php 

$conn = odbc_connect('username', 'password', 'myHost/XE'); 

if (!$conn) { 
trigger_error("Could not connect to database", E_USER_ERROR); 
} 


?> 
+0

Je XE 10g installé non 11g *, désolé. –

+0

avez-vous essayé les fonctions de php oracle? http://us.php.net/manual/fr/oci8.examples.php –

Répondre

1

Voici mon entrée de tnsnames pour mon instance privée oracle que j'ai nommé MHORCL. Oracle fonctionne sur un client vmware ubuntu sur mon hôte mac vmware.

Vous pouvez modifier (ou créer) /etc/tnsnames.ora en ajoutant une entrée similaire. Votre connexion chaîne sera quelque chose comme scott/tiger @ mhorcl.

#------------------------------------------------------------------------------- 
# mhorcl -- mark's scratch server. it's behind a private vmware 
#------------------------------------------------------------------------------- 

MHORCL =    ##### WHATEVER LOGICAL NAME YOU WANT 
    (DESCRIPTION= 
    (ADDRESS= 
     (PROTOCOL=TCP) 
     (HOST=168.3.1.3) #### WHATEVER YOUR WINDOWS IP ADDRESS IS 
     (PORT=1521) 
    ) 
    (CONNECT_DATA= 
     (SERVER=dedicated) 
     (SERVICE_NAME=xe) 
    ) 
) 
+0

C'est génial. Je vous remercie. Comment pourrais-je utiliser cette information dans un script PHP? Aurais-je besoin d'installer une sorte d'extension (OCI18) ou est-ce que l'installation de stock PHP dans Snow Leopard 10.6.5 serait suffisante? –

+0

c'est une chose OCI, donc la seule chose que vous devez faire au niveau php est de mettre à jour la chaîne de connexion afin que la partie @dbname corresponde à votre entrée tns. –