terça-feira, 17 de agosto de 2010

xampp + Oracle

Pessoal..
Tive um problema GRANDE pra fazer a conexão no Oracle via Xampp..

Resolvido atraves deste tópico..
http://www.apachefriends.org/f/viewtopic.php?f=6&t=33864&start=0

Resumindo, eu estava tendo o erro OCIEnvNlsCreate() no PHP quando chamava a função pra conectar no Oracle..
Foi resolvido copiando o conteúdo da pasta do Oracle Instant Client (http://download.oracle.com/otn/nt/instantclient/112010/instantclient-basic-win32-11.2.0.1.0.zip) para dentro da pasta APACHE/BIN (E:\xampp\apache\bin).

<?
//Nome de usuário do banco de dados, nesse exemplo usei um usuário padrão do oracle,
//caso não dê certo é por que ele deve ter sido deletado ou a senha alterada após
//a instalação do oracle.
$ora_user ="user";
//Senha do usuário no banco de dados.
$ora_senha ="passwd";
//Nesse bloco do código, especificamos as definições do banco de dados, como o protocolo
//de comunicação o protocolo utilizado  foi o TCP, o ip do servidor onde se encontra o banco de dados
//e a porta de conexão , geralmente por padrão a porta utilizada pelo Oracle  é a porta 1521,
//caso não dê certo com a porta 1521, alguém pode ter alterado-a no durante a instalação,
//e por último a instância do banco que aqui utilizamos a instância ORCL.
//Caso não dê certo nessa instância é por que no momento da instalação ela foi criada com um nome diferente.
$ora_bd = "(DESCRIPTION=
          (ADDRESS_LIST=
            (ADDRESS=(PROTOCOL=TCP)
              (HOST=IP_BANCO)(PORT=1521)
            )
          )
          (CONNECT_DATA=(SERVICE_NAME=NOME_BANCO))
     )";
//Nesta linha fazemos a conexão com o banco usando os variáveis preenchidas
//anterior mente, logo em seguida fazemos uma verificação, se a conexão ocorreu
//com sucesso, será impresso na tela uma mensagem avisando nos de tal,
//caso não, ele imprimirá na tela uma mensagem avisando que houve um erro
if ($ora_conexao = OCILogon($ora_user,$ora_senha,$ora_bd) )
        echo "Conexão bem sucedida. Usuário conectado: ".$ora_user."";
else
        echo "Erro na conexão com o Oracle.";
?>

Qualquer dúvida estou a disposição.

--
André Emerich
MSN - aemerich@gmail.com
(51) 8122-6423

Nenhum comentário:

Postar um comentário