Hoje vou mostrar como fazer conexão no oracle usando o PHP.
Atualizado em:09/01/2018
Caso não tenha configurado o PHP para suporte com a conexão veja o link abaixo antes de continuar;
Linux:
http://blog.fabianobento.com.br/2012/10/configurando-php-para-suporte-com-oracle-usando-centos-6-3-red-hat-6-3/
Windows:
Para permitir a biblioteca PHP conectar com o Oracle no windows, é necessário instalar o client do Oracle no computador e configurar o arquivo TNSNAMES.ora.
1° passo – O primeiro passo é configurar o PHP. As bibliotecas para conexão com o Oracle.
Localize o arquivo php.ini dentro do diretório de instalação do apache, e em seguida abra usando um editor de texto.
Encontre a linha ;extension=php_oci8.dll e remova o ponto e vírgula no inicio.
Encontre a linha ;extension=php_oracle.dll e remova o ponto e vírgula no inicio.
Caso não encontre as linhas insira no final do arquivo.
2° passo – Agora vamos criar a conexão com o Oracle.
Para conectar no oracle usava-se OCILogon que foi substituido por oci_connect a partir da versão 5.1.2 do PHP.
Vou mostrar como usar as 2 maneiras.
//metodo para se conectar usando versão 4 ou anterior do PHP //depende da instalação do client do oracle e configuração do arquivo TNS $conexao_antiga = OCILogon("usuario", "senha", "servico"); //metodo usado a partir do PHP 5.1.2 $conexao = oci_connect('usuario', 'senha', '127.0.0.1/nome_servico'); if (!$conexao) { $erro = oci_error(); trigger_error(htmlentities($erro['message'], ENT_QUOTES), E_USER_ERROR); exit; }
Modelo de configuração do arquivo TNS.ORA
O arquivo TNSNAMES.ORA armazena as configurações do servidor e nome da instancia do oracle. Abaixo postei um arquivo com duas configurações base produção e base teste.
Lembrando que ao instalar o oracle client em seu computador é criado um arquivo vazio caso seu arquivo TNS esteja em algum endereço da rede é necessário alterar o caminho no registro do windows.
Diretório padrão do arquivo: C:oracleproduct10.2.0client_1networkADMINtnsnames.ora
# TNSNAMES.ORA Network Configuration File: c:oracleora92networkadmintnsnames.ora # Generated by Oracle configuration tools. producao = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = prod) ) ) teste = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = teste) ) )
Modelo de configuração do arquivo de registro “REGEDIT” indicando o diretorio onde esta o arquivo TNS.
Caso seu arquivo de TNS seja armazenado em outro local é necessário atualizar o registro, alterando o TNS_ADMIN para o novo caminho.
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINESOFTWAREORACLEKEY_OraClient10g_home1] "TNS_ADMIN"="C:\oracle\product\10.2.0\client_1\network\ADMIN" [HKEY_LOCAL_MACHINESOFTWAREORACLE] "TNS_ADMIN"="C:\oracle\product\10.2.0\client_1\network\ADMIN"
Bem pessoal, basicamente é isto espero que ajude. No próximo artigo vou mostrar como fazer uma consulta no DB Oracle.
Um abraço a todos.