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.