+3

HOWTO: Configurando PHP para conectar ao Oracle

criado por Marcos Regis em 25/02/2010 10:46pm
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:
> 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.

Comentários:

Mostrando 1 - 6 de 6 comentários
Jean Freitas disse:
o meu aparece esse erro no navegador

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';
22/09/2016 3:49pm (~2 anos atrás)

o meu não funcionou
06/04/2013 10:44pm (~5 anos atrás)

Marcos Regis disse:
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.
31/01/2011 8:36pm (~7 anos atrás)

simei smoler disse:
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 (~8 anos atrás)

Marcos Regis disse:
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 (~8 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.
30/06/2010 4:14pm (~8 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)