Oi Chiappa,

no momento em que a linha "$resx = executa($connx, "select * from
fazenda");" é executado, as tuplas do select são armazenadas na variável
"$resx" que pode ser percorrida com um "while" ou "for" ou "foreach" e
exibida na tela. O comando "var_dump()" é uma espécie de echo ou print que
detalha todo o conteúdo da variável parametrizada na saída padrão (neste
caso HTML). É tudo muito simples, o PHP é uma linguagem muito fácil de
trabalhar.

[]'s
Daniel Falcão

Em 19 de julho de 2011 11:46, José Laurindo <jlchia...@yahoo.com.br>escreveu:

> **
>
>
> Sim, mas depois de conectar no banco 1 e fazer o tal select * from
> fazenda;, esses dados NÂO teriam que ser salvos de alguma maneira, antes de
> vc abrir a outra conexão no banco 2 e fazer o "select * from outrafazenda"
> ?? Ou o PHP já "salva" localmente os dad";os que vieram do banco após um
> select ?
>
> []s
>
> Chiappa
>
>
> --- Em oracle_br@yahoogrupos.com.br, Daniel Falcão <daniel.falcao@...>
> escreveu
>
> >
> > Oi Ana,
> >
> > achei sua pergunta importante porque já tive vários problemas com o
> > PHP/ORACLE (não gosto dessa mistura), então resolvi fazer um teste (segue
> o
> > código abaixo - arquivo único). Levando em consideração que conectei a um
> > ORACLE XE e a outro 10g remotos (não tenho um 9i aqui), tudo funcionou
> ok.
> > Desenvolvi o código na minha máquina local rodando UBUNTU 10g, PHP5 e um
> > instantclient que baixei outro dia. Modifiquei os parâmetros de conexão e
> > selects por motivos óbvios. Qualquer dúvida, consulte o manual do PHP no
> > site www.php.net (boa parte do código copiei de lá). Tente fazer o
> código
> > orientado à objetos, fica bem melhor de trabalhar. Boa sorte.
> >
> > []'s,
> > Daniel Falcão
> >
> > <?php
> >
> > /*
> > * CONFIGURACOES
> > */
> > define("USER", "ovelha");
> > define("PASS", "novelo");
> > define("STRING", "10.128.0.21:1521/REBANHO");
> >
> > define("USER_ALT", "boi");
> > define("PASS_ALT", "leite");
> > define("STRING_ALT", "10.128.5.172:1521/MANADA");
> >
> > define("LOCALE", "utf8");
> >
> > /*
> > * FUNCOES
> > */
> > function conecta($user, $pass, $stringConn, $locale) {
> > $conn = oci_connect($user, $pass, $stringConn, $locale);
> > if (!$conn) {
> > $e = oci_error();
> > trigger_error(htmlentities($e['message'], ENT_QUOTES),
> > E_USER_ERROR);
> > }
> > return $conn;
> > }
> >
> > function executa($conn, $query) {
> > $stid = oci_parse($conn, $query);
> > $r = oci_execute($stid);
> > oci_fetch_all($stid, $res);
> > oci_free_statement($stid);
> > return $res;
> > }
> >
> > /*
> > * UTILIZANDO AS FUNCOES:
> > */
> > //conectando e executando no primeiro banco:
> > $connx = conecta(USER, PASS, STRING, LOCALE);
> > $resx = executa($connx, "select * from fazenda");
> > var_dump($resx);
> >
> > echo "<hr/>";
> >
> > //conectando e executando no segundo banco:
> > $conny = conecta(USER_ALT, PASS_ALT, STRING_ALT, LOCALE);
> > $resy = executa($conny, "select * from outrafazenda");
> > var_dump($resy);
> >
> > oci_close($connx);
> > oci_close($conny);
> >
> > ?>
> >
> >
> >
> > Em 19 de julho de 2011 09:38, José Laurindo <jlchiappa@...>escreveu:
>
> >
> > > **
> > >
> > >
> > > Colega, com certeza o percentual de especialistas em bancos Oracle que
> > > participam da lista E que também são programadores php não deve ser
> muito
> > > alto,imagino : NECESSARIAMENTE tenho que te recomendar uma lista de
> php...
> > >
> > > De qquer forma : até onde eu entendo o php é semelhante à outras
> linguagem
> > > aonde vc tem um comando de conexão e aonde vc indica um e apenas um
> banco a
> > > conectar a cada vez, então ACHO (é um achismo, NÂO é nada mais que
> isso), eu
> > > Acho que as opções são :
> > >
> > > a) fora do seu programa, criar no banco de dados 9i um DATABASE LINK,
> ie,
> > > uma conexão lógica interna banco-a-banco apontando pro banco 10g : isso
> te
> > > permite que o seu programa conecte no banco 9i, use as tabelas
> normalmente
> > > do 9i, mas AINDA usando essa conexão 9i, pesquise tabelas do 10g... O
> lance
> > > é que :
> > >
> > > 1. isso depende de o banco 9i ter acesso via rede ao banco 10g
> > >
> > > e
> > >
> > > 2. muito certamente vc Não Deve ter privilégios pra criar coisas dentro
> dos
> > > bancos, vc tem que pedir pro DBA/administrador
> > >
> > > ou
> > >
> > > b) no mesmo programa, vc conecta no 9i, busca os dados que precisa, os
> > > armazena localmente (num arquivo temporário, talvez) , aí conecta no
> 10g e
> > > vai lendo linha-a-linha o arq.temporário
> > >
> > > ou
> > >
> > > c) loop de programação tipo :
> > >
> > > loop
> > > conecta no banco 9i
> > > lê uma linha e armazena em variáveis de memória
> > > conecta no banco 10g
> > > faz a pesquisa necessária especificando os dados que estão em memória
> > > encerra quando todos os dados do 9i foram lidos
> > > end loop
> > >
> > > ==> nem preciso dizer, programa-exemplo fazendo b) ou c) não tem jeito
> de
> > > eu fazer, conheço o mínimo do mínimo, mas até onde sei b) e c) são SIM
> > > factíveis em php.....
> > >
> > > []s
> > >
> > > Chiappa
> > >
> > >
> > >
> > > --- Em oracle_br@yahoogrupos.com.br, "Ana" <doceangell@> escreveu
> > >
> > > >
> > > > Bom dia pessoal!
> > > >
> > > > Tenho 2 bases uma Oracle 9i e outra 10g, preciso urgentemente fazer
> um
> > > select no Oracle 9i em um mesmo arquivo php que utiliza o Oracle 10g...
> > > > É possível?
> > > >
> > > > Vou dar um exemplo do que eu fiz... Criei 2 arquivos de conexão .php
> (um
> > > para cada banco de dados) nele tem meus ociConctar(), ociDesconectar(),
> e
> > > todos funcionam...
> > > >
> > > > //exemplo do banco 1 (funciona esse) esse arquivo se chama config.php
> > > > function ociConectar()
> > > > {
> > > > global $ociConn1;
> > > > $db = "(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
> > > > (Host = 200.169.63.2)(Port = 1521)))
> > > > (CONNECT_DATA = (SID = meusid)))";
> > > > if(!( $ociConn1 = oci_connect("usuario", "senha", $db) ))
> > > > return $conectado1 = 0;
> > > > else
> > > > return $conectado1 = 1;
> > > > }
> > > >
> > > > //exemplo do banco 2 - esse arquivo se chama config2.php
> > > > function ociConectar2()
> > > > {
> > > > global $ociConn2;
> > > > $db2 = "(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
> > > > (Host = 200.169.63.4)(Port = 1521)))
> > > > (CONNECT_DATA = (SID = gep)))";
> > > > if(!( $ociConn2 = oci_connect("usuario", "senha", $db2) ))
> > > > return 0;
> > > > else
> > > > return 1;
> > > > }
> > > >
> > > > ////////////////
> > > > Lá no meu arquivo .php eu dou 2 require_once:
> > > >
> > > > require_once(config.php);
> > > > require_once(config2.php);
> > > >
> > > > Durante o código existem vários ociExecutar($sql); do banco 1 que
> > > funcionam! MAS, quando eu dou um ociExecutar2($sql);
> > > > no meio do código é aí que não funciona...
> > > >
> > > > Minha tupla2() vem vazia. E tem dados nesse select, e o user ta certo
> > > > e eu já conferir e reconferir dezenas de vezes e não entendo o pq da
> > > minha tupla2() já dei ociDesconectar antes e ociCOnectar2() mas ainda
> não
> > > funciona...
> > > >
> > > > Eu só corro pra cá quando é importante, alguém pode me ajudar??
> > > >
> > >
> > >
> > >
> >
> >
> >
> > --
> > Atenciosamente,
> > Daniel Falcão
> >
> > Analista e Desenvolvedor de Software
> > http://br.linkedin.com/in/embuar
> > http://lattes.cnpq.br/2208735579737258
> > http://embuar.blogspot.com
> > http://twitter.com/embuar
> >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
>
>  
>



-- 
Atenciosamente,
Daniel Falcão

Analista e Desenvolvedor de Software
http://br.linkedin.com/in/embuar
http://lattes.cnpq.br/2208735579737258
http://embuar.blogspot.com
http://twitter.com/embuar


[As partes desta mensagem que não continham texto foram removidas]



------------------------------------

--------------------------------------------------------------------------------------------------------------------------
>Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
>responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--------------------------------------------------------------------------------------------------------------------------
>Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » 
>Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
>http://www.oraclebr.com.br/  
------------------------------------------------------------------------------------------------------------------------
 Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/oracle_br/

<*> Para sair deste grupo, envie um e-mail para:
    oracle_br-unsubscr...@yahoogrupos.com.br

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html


Responder a