HOWTO: Configurando PHP para conectar ao Oracle
Testando a conectividade
Para testar se tudo está correto vamos testar a conexão usando o SQL*Plus.
Acesse o prompt de comando (Iniciar->Executar, cmd).
Execute o comando:
O retorno deverá ser parecido com a imagem abaixo.
Verificando instalação e versão do SQL*Plus
Se o comando não for executado significa que algum passo saiu errado. Volte e refaça.
Continuando na mesma janela do prompt tente se conectar ao seu servidor Oracle remoto usando o seguinte comando:
Será requisitado a senha de conexão. Digite-a.
Se tudo deu certo o prompt será alterado para o prompt do SQL*Plus.
Conectando a um servidor Oracle remoto via SQL*PLUS
Na imagem há uma sequência onde conecto ao meu servidor Oracle Xpress Edition 10g. Se desejar utilizar ele para testes use estes dados.
Para saber se os comandos estão mesmo funcionando você pode executar:
Teste do SQL*Plus
O Comando acima irá imprimir a data do servidor.
Se estiver usando o meu servidor como teste tente consultar a tabela USUARIO
Verificando se o SQL*Plus consegue executar consultas
Neste ponto podemos considerar que nosso Cliente Oracle está funcionando perfeitamente.
Para testar se tudo está correto vamos testar a conexão usando o SQL*Plus.
Acesse o prompt de comando (Iniciar->Executar, cmd).
Execute o comando:
> sqlplus -v
O retorno deverá ser parecido com a imagem abaixo.
Verificando instalação e versão do SQL*Plus
Se o comando não for executado significa que algum passo saiu errado. Volte e refaça.
Continuando na mesma janela do prompt tente se conectar ao seu servidor Oracle remoto usando o seguinte comando:
>sqlplus usuario@host_remoto:porta
Será requisitado a senha de conexão. Digite-a.
Se tudo deu certo o prompt será alterado para o prompt do SQL*Plus.
Conectando a um servidor Oracle remoto via SQL*PLUS
Na imagem há uma sequência onde conecto ao meu servidor Oracle Xpress Edition 10g. Se desejar utilizar ele para testes use estes dados.
usuário = demo senha = demo host = oracle.marcosregis.com porta = 1521 (padrão) ou 81 (caso a porta 1521 esteja bloqueada na saída).
Para saber se os comandos estão mesmo funcionando você pode executar:
Teste do SQL*Plus
O Comando acima irá imprimir a data do servidor.
Se estiver usando o meu servidor como teste tente consultar a tabela USUARIO
Verificando se o SQL*Plus consegue executar consultas
Neste ponto podemos considerar que nosso Cliente Oracle está funcionando perfeitamente.
NOTA: O Comando sqlplus pode ser executado de qualquer ponto já que colocamos o diretório de instalação no PATH do sistema.
Simei, desculpe a demora em responder (provavelmente já tenha solucionado).
O maoir problema com o suporte de PHP a Oracle com o IIS é o PATH.
No IIS tem como você verificar qual o PATH que ele está utilizando. Verifique se no PATH está o caminho para o instantclient.
Outra coisa são as permissão de execução/acesso aos binários dentro do diretório do instantclient.
Como você não é o primeiro a me perguntar isso, estou atualizando o tutorial para utilizar o PHP 5.3 e vou criar uma versão com o IIS em Windows XP, Seven e Server.
O maoir problema com o suporte de PHP a Oracle com o IIS é o PATH.
No IIS tem como você verificar qual o PATH que ele está utilizando. Verifique se no PATH está o caminho para o instantclient.
Outra coisa são as permissão de execução/acesso aos binários dentro do diretório do instantclient.
Como você não é o primeiro a me perguntar isso, estou atualizando o tutorial para utilizar o PHP 5.3 e vou criar uma versão com o IIS em Windows XP, Seven e Server.
31/01/2011 8:36pm
(~14 anos atrás)
Olá Marcos, primeiramente obrigado pelo passo a passo não se acha quase nada na net sobre o assunto, vamos a dúvida.... fiz tudo que vc falou e tá tudo redondinho no phpinfo... no teste com o servidor oracle etc... o detalhe é que ao invés de Apache eu estou usando IIS 7, você sabe alguma coisa sobre o assunto? se tem que fazer alguma configuração a mais? porque dá erro 500 no IIS 7. Precisa ser no IIS porque existem outras aplicações em aspx no mesmo servidor.
21/12/2010 3:33pm
(~14 anos atrás)
Então Lucas, na verdade não coloquei no título, mas a configuração se faz necessário para se conectar a um servidor Oracle REMOTO. Quando você instala um Servidor Oracle localmente, essa instalação cria todos os procedimenos para que seja possível acessar localmente tornando as coisas mais simples.
30/06/2010 4:29pm
(~14 anos atrás)
eu instalei a versão g10, quando fui ver a variavel de ambiente, ja estava la:
C:\wamp\bin\oracle\app\oracle\product\10.2.0\server\bin
falou.
C:\wamp\bin\oracle\app\oracle\product\10.2.0\server\bin
falou.
30/06/2010 4:14pm
(~14 anos atrás)
Fatal error: Uncaught Error: Call to undefined function oci_connect() in C:\xampp\htdocs\aulaphp\teste.php:21 Stack trace: #0 {main} thrown in C:\xampp\htdocs\aulaphp\teste.php on line 21
linha 21
[ if (!$con = oci_connect($usuario, $senha, "$host:$porta")) ]
//$sql = "select * from usuarios";
//$usuario = 'teste';
//$senha = 'teste';
//$host = '127.0.0.1';
//$porta = '1521';