Saludos,
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...