Estaba conectando un servidor con una base de datos oracle externa al servidor y pude lograr conectarlo de la siguiente forma
- Instalar instantclient http://www.oracle.com/technetwork/da...ex-097480.html
 - Extraes el directorio de instantclient y lo colocas donde quieras en el servidor
 - Vas a Enviroment Variables y en el PATH añades la ruta completa donde hayas añadido el directorio de instantclient
 - Si no funciona el instalar instantclient puedes instalar http://www.oracle.com/technetwork/da...ads/index.html (recomiendo el 11.2 por la versión 11.1 indican y por experiencia no se puede conectar con base de datos 10.x o menores)
 -  En el archivo de php solo tienes que hacer algo como
Código PHP:Ver original
- $oci = new PDO('oci:dbname=
 - (DESCRIPTION =
 - (ADDRESS =
 - (PROTOCOL = TCP)
 - (HOST = XXX.XXX.XXX.XXX)
 - (PORT = AQUI_VA_EL_PUERTO)
 - )
 - (CONNECT_DATA =
 - (SERVICE_NAME = AQUI_VA_EL_SERVICE_NAME)
 - )
 - )',
 - 'USER',
 - 'PASS'
 - );
 - // o
 - // El puerto no es necesario si usas el que viene por defecto 1521
 - $oci = new PDO('oci:dbname=//XXX.XXX.XXX.XXX:AQUI_VA_EL_PUERTO/AQUI_VA_EL_SERVICE_NAME', 'USER', 'PASS');
 
 
Tomé esta idea de http://www.php.net/manual/es/functio...ect.php#105284
Luego vi esta http://www.php.net/manual/es/ref.pdo-oci.php#64756 junto con http://www.php.net/manual/es/ref.pdo-oci.php#80881
Las varias formas que traté fueron y no me resultaron
Código PHP:
Ver original
 $oci = new PDO('oci:dbname=DATABASE;', 'USER', 'PASS'); $oci = new PDO('odbc:DATABASE', 'USER', 'PASS'); $oci = new PDO('DRIVER={Oracle ODBC Driver}; DSN=DATABASE', 'USER', 'PASS');
Espero que libre a varios de dolores de cabeza...
 
 

Este tema le ha gustado a 1 personas