PHP e Oracle - O mundo dos grandes!!
Por isso resolvi escrever este artigo, por estar pesquisando atualmente coisas sobre isso.. e espero dar continuidade neste artigo, trocando experiências e facilitando a vida dos membros da comunidade.
Primeiro, Oracle pra linux não é fácil de instalar (principalmente em distribuições não homologadas (aprovada)) nem por isso você vai deixar de tentar e conseguir instalar num Slackware como foi o meu caso.
Existem ótimos tutoriais e artigos por ai ensinando a instalar o Oracle no linux (outros nem tão bons, bastante superficiais e sem os possíveis erros que ocorrem na instalação e os "porques" de estarem ocorrendo).
Começando:
As bibliotecas disponíveis:
Ora x OCI
Breve explicação sobre as duas:
OCI - A grande (traduzida da página oficial do PHP)
Essa extensão permite você acessar Oracle8 e Oracle7 Database. Usa o Oracle8 "Call-Interface" (pode ser usada para versões acima da 8 do Oracle também).
Essa extensão é mais flexível do que a extensão padrão Oracle (Ora).
Ela suporta "alocar" as variáveis globais e locais do PHP para o Oracle.
LOB, FILE e ROWID permitem à você usar variáveis definidas pelo usuário.
Saindo da teoria, o que é necessário pra ter esse bixo ai?
No Windows, é necessário habilitar no php.ini a dll: php_oci8.dll
No Linux, necessário compilar com --with-oci8=[ DIR]
onde DIR é o diretório do Oracle, aqui em casa eu coloquei ele em /oracle/OraHome1
dai assim, quando vocês forem compilar saibam que pode ser compilada OCI e Ora juntos, e então para futuros e eventuais testes com as duas bibliotecas já compilem as duas juntas e não sejam mané como eu que só descobri isso esses dias :)
legal agora eu já sei o que fazer, como compilar o PHP com isso ai..
a grande pergunta agora é: "porque eu vou querer usar o Ora ???"
Resposta: Tem louco pra tudo hoje em dia né :)
brincadeira.. bom, a experiência que eu tive em projetos foi a seguinte.. divisão da equipe para desenvolver um arquivo com as funções necessárias para migrar nosso sistema de SQL Server pra Oracle.
Se você pensou "putz, que abacaxi.." pois é, pensei o mesmo hehe :)
mas todos viveram felizes para sempre, a proposta era a seguinte:
Cada um tentaria fazer o tal do arquivo, um com OCI e o outro(eu) com Ora..
nem preciso falar que tomei um chocolate né :// vivendo e aprendendo.. realmente eu comprovei a .. ahnn digamos.. "sugestão" que está na PHP.net. (choose your destiny e a risadinha ha-ha-ha) :)
Na próxima página o descritivo da outra extensão
Primeiro, Oracle pra linux não é fácil de instalar (principalmente em distribuições não homologadas (aprovada)) nem por isso você vai deixar de tentar e conseguir instalar num Slackware como foi o meu caso.
Existem ótimos tutoriais e artigos por ai ensinando a instalar o Oracle no linux (outros nem tão bons, bastante superficiais e sem os possíveis erros que ocorrem na instalação e os "porques" de estarem ocorrendo).
Começando:
As bibliotecas disponíveis:
Ora x OCI
Breve explicação sobre as duas:
OCI - A grande (traduzida da página oficial do PHP)
Essa extensão permite você acessar Oracle8 e Oracle7 Database. Usa o Oracle8 "Call-Interface" (pode ser usada para versões acima da 8 do Oracle também).
Essa extensão é mais flexível do que a extensão padrão Oracle (Ora).
Ela suporta "alocar" as variáveis globais e locais do PHP para o Oracle.
LOB, FILE e ROWID permitem à você usar variáveis definidas pelo usuário.
Saindo da teoria, o que é necessário pra ter esse bixo ai?
No Windows, é necessário habilitar no php.ini a dll: php_oci8.dll
No Linux, necessário compilar com --with-oci8=[ DIR]
onde DIR é o diretório do Oracle, aqui em casa eu coloquei ele em /oracle/OraHome1
dai assim, quando vocês forem compilar saibam que pode ser compilada OCI e Ora juntos, e então para futuros e eventuais testes com as duas bibliotecas já compilem as duas juntas e não sejam mané como eu que só descobri isso esses dias :)
legal agora eu já sei o que fazer, como compilar o PHP com isso ai..
a grande pergunta agora é: "porque eu vou querer usar o Ora ???"
Resposta: Tem louco pra tudo hoje em dia né :)
brincadeira.. bom, a experiência que eu tive em projetos foi a seguinte.. divisão da equipe para desenvolver um arquivo com as funções necessárias para migrar nosso sistema de SQL Server pra Oracle.
Se você pensou "putz, que abacaxi.." pois é, pensei o mesmo hehe :)
mas todos viveram felizes para sempre, a proposta era a seguinte:
Cada um tentaria fazer o tal do arquivo, um com OCI e o outro(eu) com Ora..
nem preciso falar que tomei um chocolate né :// vivendo e aprendendo.. realmente eu comprovei a .. ahnn digamos.. "sugestão" que está na PHP.net. (choose your destiny e a risadinha ha-ha-ha) :)
Na próxima página o descritivo da outra extensão
Boa tarde, alguem por favor saberia me informa que erro e este???? Conheco bem Oracle mas php nada ainda rsrsrsrs. Desde ja agradeco.
Fatal error: Call to undefined function OCILogon() in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\phpinfo.php on line 2
Fatal error: Call to undefined function OCILogon() in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\phpinfo.php on line 2
05/11/2006 11:56am
(~18 anos atrás)
Nao estou conseguindo usar as funções oci em um win xp prof.
Instalei o Oracle9i, habilitei no php.ini php_oracle.dll e php_oci8.dll mas consigo apenas usar as funções ora_*. Nas oci* o php retorna que não existe. Aceito sugestões.
Instalei o Oracle9i, habilitei no php.ini php_oracle.dll e php_oci8.dll mas consigo apenas usar as funções ora_*. Nas oci* o php retorna que não existe. Aceito sugestões.
14/06/2006 9:02am
(~18 anos atrás)
Cara eu tambem instalei o oracle 8 e php 5
e não consigo conectar por nada.
Se alguem ja tiver conseguindo me mande resposta.
Mas eu estou tentando com o oracle e o php na mesma maquina!
e não consigo conectar por nada.
Se alguem ja tiver conseguindo me mande resposta.
Mas eu estou tentando com o oracle e o php na mesma maquina!
23/03/2006 5:50am
(~18 anos atrás)
Ólá pessoal, eu tentei fazer a conexão do PHP com o Oracle e não tem jeito de funcionar tentei com varias versões do PHP e do Apache, tenho atualmente no micro o Apache 2, PHP 5, Client Oracle 8i, E o Win 2000, toda a configuração tanto quanto do oracle quanto php e apache estam corretas revisadas varias vezes por mais de 3 programadores aqui da empresa, e a conclusão que chegamos é que o php não conecta com o oracle 8i, não com Apache 2, PHP 4 e 5 e o Client Oracle 8i.
16/01/2006 11:52am
(~19 anos atrás)
Instalei o apache 1.3 e o php 5 sem problemas.. e ta td a funcionar!Eu agr keria ke o apache possa aceder a uma base de dados Oracle!Colokei o extension=oci.dll no php.ini ms ele diz ke n consegue carregar o module OCI! Alguem me puderia ajudar?
um Abraço
um Abraço
11/11/2005 6:06pm
(~19 anos atrás)
olá colega!
muito boa sua matéria!! só gostaria também que falasse um pouco sobre como executar stored procedures no oracle usando o php!!
Valew!
muito boa sua matéria!! só gostaria também que falasse um pouco sobre como executar stored procedures no oracle usando o php!!
Valew!
13/07/2005 12:56pm
(~19 anos atrás)
ERRO NA CONEXÃO
ORA-03113: end-of-file on communication channel
- to com esse erro ai alguem tem uma solução??
Desde já agradeço !
ORA-03113: end-of-file on communication channel
- to com esse erro ai alguem tem uma solução??
Desde já agradeço !
16/06/2005 1:33pm
(~19 anos atrás)
ta blz mto lindo... ri bastante quase me acabei d rir na verdade...
e pra execultar uma procedure ? vou usar OCIBindByName ???
o ki farei ?
e pra execultar uma procedure ? vou usar OCIBindByName ???
o ki farei ?
08/06/2005 2:13pm
(~19 anos atrás)
ORA-12560: TNS:erro de adaptador de protocolo
- Estou usando Oracle 10g e PHP 5.1.6 Apache 2.2, se quiser ver o info gabrielgaliaso.no-ip.org