Conexão PDO no Oracle [RESOLVIDO]

1. Conexão PDO no Oracle [RESOLVIDO]

Paulo
henbran

(usa Debian)

Enviado em 01/10/2009 - 09:47h

Já resolvi, conseguindo as informações e scripts pelo site do http://php.morva.net/manual/pt_BR.

O script que FUNCIONOU É:
===================================
<?php

$user = "usuario_bd"; $pass = "senha_usuario_bd"; $name = "nome_bd"; $host = "192.168.208.16";

//NÃO ALTERE NADA DESTE LINHA, NEM MESMO ESPAÇOS
$tns = " (DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP) (HOST = ".$host.")(PORT = 1521)))(CONNECT_DATA = (SID = ".$name.")))";

try
{
$conn = new PDO("oci:dbname=".$tns,$user,$pass);
//echo 'conectado -> '.date('H:i:s');

foreach($conn->query('SELECT * from tabela') as $row)
{
print_r($row);
}

}catch(PDOException $e)
{
echo ($e->getMessage());
}


?>
======================================
Olá
Tenho dificuldades em conexão oracle (OCI). A principio, tentamos usando recursos PDO, como já usamos a muito tempo para bancos MySql. Porém a conexão com o oracle é muito complicada e cheia de parâmetros que ainda desconheço.

Testei o meu phpinfo(); e resultou:

oci8
OCI8 Support enabled
Version 1.2.4
Revision $Revision: 1.269.2.16.2.38 $
Active Persistent Connections 0
Active Connections 0
Temporary Lob support enabled
Collections support enabled

Directive Local Value Master Value
oci8.default_prefetch 10 10
oci8.max_persistent -1 -1
oci8.old_oci_close_semantics 0 0
oci8.persistent_timeout -1 -1
oci8.ping_interval 60 60
oci8.privileged_connect Off Off
oci8.statement_cache_size 20 20

=========================
Então tento rodar o script ...:
<?php
$tns = "
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.208.16)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = prodh)
)
)
";
$db_username = "php";
$db_password = "php";
try{
$conn = new PDO("oci:dbname=".$tns,$db_username,$db_password);
}catch(PDOException $e){
echo ($e->getMessage());
}
?>

E gera o seguinte erro ...:

SQLSTATE[HY000]: pdo_oci_handle_factory: ORA-12514: TNS:listener não tem conhecimento sobre o serviço solicitado atualmente no descritor de conexão (ext\pdo_oci\oci_driver.c:581)

Testemos um acesso direto pelo console do sqlplus e deu certo. Certamente temos algum erro de configuração no PHP.

Por favor, me ajudem a descobrir onde eu possa eventualmente ter errado nessa conexão.


  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts