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