Re: [oracle_br] [Off-Topic: GUOB TECH DAY]
Olá Pessoal! Realmente o evento foi fantástico! É muito bom nos unirmos cada vez mais pois somente nós temos a ganhar com esta união. Arup Nanda, Graham Wood, Kuassi Mensah, Debrah Lilley, Hans Forbrich e Kai Yu com certeza mostraram o porque podem ser considerados gurus cada uma na sua área. Quem assistiu a minha palestra (a qual acabou mais cedo) e ficou ali perto de onde aconteciam os networking's café, teve a chance de bater um papo legal com o Arup Nanda, já que ele ia de grupo em grupo de pessoas puxar assunto com TODOS. Achei isso SENSACIONAL! Como o Mufalani comentou, trabalhamos muito para que a organização fosse a mais perfeita possível, para que a agenda fosse cumprida (já que eram 12 horas de evento e isso pode causar mais cansaço), as palestras fossem de alto nível e que as pessoas pudessem interagir e fazer o networking. Estamos caminhando a passos largos para colocar o Brasil de vez no foco internacional. A Debrah postou no blog dela o que achou do Brasil e da organização do evento: http://debrasoracle.blogspot.com/ O Kuassi Mensah no seu Twitter disse que definitivamente aqui foi a maior audiência. Pude conversar com os palestrantes pessoalmente e eles elogiaram muito a organização dizendo que dos países pelos quais passaram no OTN Tour, aqui foi o lugar com o evento mais organizado. Como disse, todos nós temos a crescer com isso e com a nossa união! Meus contatos: email: b...@viniciusdba.com.br twitter: @viniciusdba Abraços! Marcus Vinicius Miguel Pedro Oracle ACE ♠ mvmpe...@yahoo.com.br Blog: http://www.viniciusdba.com.br Perfil ACE: http://apex.oracle.com/pls/otn/f?p=19297:4:4259357633741942::NO:4:P4_ID:2540 On 18/07/2011, at 23:03, resource14 (William do Carmo Silva) wrote: Boa noite! Gostei bastante e ano que vem pretendo participar de novo, fiz um review no meu blog, quem quiser acessar http://aprenderoracle.com/ Um abraço!!! William do Carmo Silva http://twitter.com/williamdocarmo http://aprenderoracle.com/ De: oracle_br@yahoogrupos.com.br [oracle_br@yahoogrupos.com.br] em Nome de Rodrigo Mufalani [rodr...@mufalani.com.br] Enviado: segunda-feira, 18 de julho de 2011 12:23 Para: oracle_br@yahoogrupos.com.br Assunto: [oracle_br] [Off-Topic: GUOB TECH DAY] Bom dia, Espero que todos tenham aproveitado ao máximo e que entendam que estávamos todos trabalhando para que a organização do evento fosse perfeita e que não dava para dar toda a atenção que gostaríamos de ter dado aos participantes. Porém, quem quiser trocar uma idéia, fique à vontade de nos contactar rodr...@mufalani.com.br e @mufalani pelo twitter e não deixem de se afiliar ao GUOB. Teve gente que perdeu um almoço com os palestrantes por conta de não estar devidamente cadastrado. Atenciosamente, Rodrigo Mufalani Oracle Ace Member http://www.mufalani.com.br Pessoal Aí vai meu parecer sobre o GUOB TD 2011: * Muito bem organizado, cumprimento de horários foi bem preciso, ninguém atrasou, tudo começou no horário previsto. * Toda parte visual estava muito bem feita, padronizado, pasta, camisetas, powerpoints, brindes, e é claro o local do evento foi muito bem escolhido. * Ótimo conteúdo, assuntos atuais! * Qualidade de tudo nota 10. (almoço, janta, coffe-break, patrocinadores, apresentação, etc O que eu achei que poderia ter sido melhor foi: * Livraria Saraiva, que só tinha 1 livro de ORACLE... o resto era LINUX for Dummies, PHP, etc Acho que poderia ter APENAS livro de oracle ali que seria melhor. (vacilaram nessa, não atingiram muito bem o tipo de publico). EM RESUMO: PARABÉNS a todos envolvidos na organização, principalmente o EDUARDO que sem ele não haveria o evento. Não lembro quem falou dos nossos convidados internacionais, mas um deles disse: De todo nosso TOUR pela america latina, o melhor evento até agora foi o BRASIL.. Agradeço a todos pela oportunidade de fazer parte dum evento de tamanha importância!!! THOMAS [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 [As partes desta mensagem que não continham texto foram removidas]
[oracle_br] conectar duas bases diferentes mesmo arquivo .php
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??
Res: [oracle_br] Conectar duas bases diferentes mesmo arquivo .php
Cara Ana: Acho que voce tera de perguntar isto a uma lista especifica de PHP. Nesta lista de Oracle, acho que poucos saberao o que eh um require_once, ok? Atenciosamente, Márcio de Figueiredo Moura e Castro Oracle 10g DBA OCA Oracle PL/SQL Developer OCA De: Ana doceang...@yahoo.com.br Para: oracle_br@yahoogrupos.com.br Enviadas: Terça-feira, 19 de Julho de 2011 9:14:26 Assunto: [oracle_br] Conectar duas bases diferentes mesmo arquivo .php 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?? [As partes desta mensagem que não continham texto foram removidas]
[oracle_br] Re: Conectar duas bases diferentes mesmo arquivo .php
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??
Re: [oracle_br] [Off-Topic: GUOB TECH DAY]
Bom dia á todos, Posso dizer que como Congressista do Evento, este ano foi ainda melhor do que o ano passado, e não só pelo nível técnico das Palestras , mais como também pelo prazer e empenho de todos os envolvidos em fazer com que tudo desse certo. Gostaria de parabenizar diretamente a pessoa do Eduardo Hahn pela concepção do evento, Rodrigo Almeida, Marcus Vinicius, Rodrigo Mufalani, Ricardo Portilho , Pablo, Thomas e todos os envolvidos direta e indiretamente. O Networking foi um ponto muito alto neste evento, conversei com grandes profissionais que conheço das comunidades : Régis Araujo, Eduaro Legatti, Cristiano, Fábio, Henrique, Bruno Murassaki, Lilian, Marcelo Proskch, Diogo Carneiro, Humberto Marino, Flávio dentre tantos outros. Foi de fato muito gratificante passar o dia junto de tantas pessoas competentes em suas respectivas áreas e poder de alguma forma mostar um pouco mais de cada um dentro daquilo que fazemos melhor, Administrar nossos Bancos. Espero que tenhamos um excelente evento também no ano que vem, e que a participação da America Latina seja cada vez mais expressiva junto ao Mundo Oracle. Só posso agrader ao Presidente e aos conselheiros do GUOB pelo TECHDAY 2011, foi sensacional. Abraço á todos. Em 19 de julho de 2011 08:49, Marcus Vinicius mvmpe...@yahoo.com.brescreveu: ** Olá Pessoal! Realmente o evento foi fantástico! É muito bom nos unirmos cada vez mais pois somente nós temos a ganhar com esta união. Arup Nanda, Graham Wood, Kuassi Mensah, Debrah Lilley, Hans Forbrich e Kai Yu com certeza mostraram o porque podem ser considerados gurus cada uma na sua área. Quem assistiu a minha palestra (a qual acabou mais cedo) e ficou ali perto de onde aconteciam os networking's café, teve a chance de bater um papo legal com o Arup Nanda, já que ele ia de grupo em grupo de pessoas puxar assunto com TODOS. Achei isso SENSACIONAL! Como o Mufalani comentou, trabalhamos muito para que a organização fosse a mais perfeita possível, para que a agenda fosse cumprida (já que eram 12 horas de evento e isso pode causar mais cansaço), as palestras fossem de alto nível e que as pessoas pudessem interagir e fazer o networking. Estamos caminhando a passos largos para colocar o Brasil de vez no foco internacional. A Debrah postou no blog dela o que achou do Brasil e da organização do evento: http://debrasoracle.blogspot.com/ O Kuassi Mensah no seu Twitter disse que definitivamente aqui foi a maior audiência. Pude conversar com os palestrantes pessoalmente e eles elogiaram muito a organização dizendo que dos países pelos quais passaram no OTN Tour, aqui foi o lugar com o evento mais organizado. Como disse, todos nós temos a crescer com isso e com a nossa união! Meus contatos: email: b...@viniciusdba.com.br twitter: @viniciusdba Abraços! Marcus Vinicius Miguel Pedro Oracle ACE ♠ mvmpe...@yahoo.com.br Blog: http://www.viniciusdba.com.br Perfil ACE: http://apex.oracle.com/pls/otn/f?p=19297:4:4259357633741942::NO:4:P4_ID:2540 On 18/07/2011, at 23:03, resource14 (William do Carmo Silva) wrote: Boa noite! Gostei bastante e ano que vem pretendo participar de novo, fiz um review no meu blog, quem quiser acessar http://aprenderoracle.com/ Um abraço!!! William do Carmo Silva http://twitter.com/williamdocarmo http://aprenderoracle.com/ De: oracle_br@yahoogrupos.com.br [oracle_br@yahoogrupos.com.br] em Nome de Rodrigo Mufalani [rodr...@mufalani.com.br] Enviado: segunda-feira, 18 de julho de 2011 12:23 Para: oracle_br@yahoogrupos.com.br Assunto: [oracle_br] [Off-Topic: GUOB TECH DAY] Bom dia, Espero que todos tenham aproveitado ao máximo e que entendam que estávamos todos trabalhando para que a organização do evento fosse perfeita e que não dava para dar toda a atenção que gostaríamos de ter dado aos participantes. Porém, quem quiser trocar uma idéia, fique à vontade de nos contactar rodr...@mufalani.com.br e @mufalani pelo twitter e não deixem de se afiliar ao GUOB. Teve gente que perdeu um almoço com os palestrantes por conta de não estar devidamente cadastrado. Atenciosamente, Rodrigo Mufalani Oracle Ace Member http://www.mufalani.com.br Pessoal Aí vai meu parecer sobre o GUOB TD 2011: * Muito bem organizado, cumprimento de horários foi bem preciso, ninguém atrasou, tudo começou no horário previsto. * Toda parte visual estava muito bem feita, padronizado, pasta, camisetas, powerpoints, brindes, e é claro o local do evento foi muito bem escolhido. * Ótimo conteúdo, assuntos atuais! * Qualidade de tudo nota 10. (almoço, janta, coffe-break, patrocinadores, apresentação, etc O que eu achei que poderia ter sido melhor foi: * Livraria Saraiva, que só tinha 1 livro de ORACLE... o resto era LINUX for Dummies, PHP, etc Acho que poderia ter APENAS livro de oracle ali que seria melhor. (vacilaram nessa, não
Re: [oracle_br] Re: Conectar duas bases diferentes mesmo arquivo .php
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 jlchia...@yahoo.com.brescreveu: ** 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
[oracle_br] Re: Conectar duas bases diferentes mesmo arquivo .php
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 =
Re: [oracle_br] conectar duas bases diferentes mesmo arquivo .php
Ana, primeiramente sugiro quando enviar algo pra lista, cuide para não enviar os ips válidos, isso fica publico na internet, como o grupo eh aberto pode ser pesquisado no google. O que você pode fazer é executar cada um dos SQLs em cada banco, pode ter alguma particularidade entre os bancos 9i e 10g que podem estar ocorrendo o problema. Sugiro que você olhe sobre dblink, assim faz o dblink entre os bancos e não precisa fazer 2 conexões, somente uma para onde criou o dblink, assim me parece que fica mais fácil. Não sei se ajudou, pois você enviou as conexões e elas não tem problema, e sim os executar, veja se por algum motivo não esta 'esvaziando' o $sql; Att, capin franquini.wordpress.com 2011/7/19 Ana doceang...@yahoo.com.br 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?? -- 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 -- Fernando Franquini - Capin Bacharel em Ciencias da Computacao - UFSC Analista de Sistemas e de Banco de Dados / DBA Contatos: fernando.franqu...@gmail.com / 48.9902.4047 Florianópolis - SC - Brasil http://franquini.wordpress.com/ http://franquini.wordpress.com/ http://br.linkedin.com/in/capin [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] conectar duas bases diferentes mesmo arquivo .php
Ana, Envia o código do ociExecutar2() e ociExecutar(), vai facilitar. 2011/7/19 Fernando Franquini 'capin' fernando.franqu...@gmail.com: Ana, primeiramente sugiro quando enviar algo pra lista, cuide para não enviar os ips válidos, isso fica publico na internet, como o grupo eh aberto pode ser pesquisado no google. O que você pode fazer é executar cada um dos SQLs em cada banco, pode ter alguma particularidade entre os bancos 9i e 10g que podem estar ocorrendo o problema. Sugiro que você olhe sobre dblink, assim faz o dblink entre os bancos e não precisa fazer 2 conexões, somente uma para onde criou o dblink, assim me parece que fica mais fácil. Não sei se ajudou, pois você enviou as conexões e elas não tem problema, e sim os executar, veja se por algum motivo não esta 'esvaziando' o $sql; Att, capin franquini.wordpress.com 2011/7/19 Ana doceang...@yahoo.com.br 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?? -- 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 -- Fernando Franquini - Capin Bacharel em Ciencias da Computacao - UFSC Analista de Sistemas e de Banco de Dados / DBA Contatos: fernando.franqu...@gmail.com / 48.9902.4047 Florianópolis - SC - Brasil http://franquini.wordpress.com/ http://franquini.wordpress.com/ http://br.linkedin.com/in/capin [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 -- Rosivaldo Azevedo Ramalho rosiva...@gmail.com Consultor Oracle Database Fusion Middlerware http://about.me/rosivaldo
Re: [oracle_br] Re: Conectar duas bases diferentes mesmo arquivo .php
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.brescreveu: ** 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
[oracle_br] Re: Conectar duas bases diferentes mesmo arquivo .php
valews, matou minha curiosidade... Parece ser fácil mesmo - eu estava curioso porque numa lista gringa que sigo tem um cara que é evangelista perl (e php), o cara fala bastante deles pra automação de tarefas de administração do banco... tks ! []s Chiappa --- Em oracle_br@yahoogrupos.com.br, Daniel Falcão daniel.falcao@... escreveu 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 jlchiappa@...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)
[oracle_br] Instant Client
Instalei o Instant Client, conforme mencionado no site http://eduardolegatti.blogspot.com/2008/09/instalador-para-o-oracle-instant-client.html, porém a variável de ambiente não funcionou no windows XP, foi colocado na variável de ambiente o patch o caminho onde foi instalado, entretanto quando digita exp fala que não reconhece o comando. Obrigado! [As partes desta mensagem que não continham texto foram removidas]
RE: [oracle_br] Instant Client
para setar variavel no windows é set exp é pra linux... To: oracle_br@yahoogrupos.com.br From: luizhumberto_go...@yahoo.com.br Date: Tue, 19 Jul 2011 18:15:00 -0700 Subject: [oracle_br] Instant Client Instalei o Instant Client, conforme mencionado no site http://eduardolegatti.blogspot.com/2008/09/instalador-para-o-oracle-instant-client.html, porém a variável de ambiente não funcionou no windows XP, foi colocado na variável de ambiente o patch o caminho onde foi instalado, entretanto quando digita exp fala que não reconhece o comando. Obrigado! [As partes desta mensagem que não continham texto foram removidas] [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
Re: [oracle_br] Instant Client
Gostaria que na estação onde instalei o client fosse possível fazer backup do banco. De: Anderson Ferreira andfr2...@hotmail.com Para: oracle_br@yahoogrupos.com.br oracle_br@yahoogrupos.com.br Enviadas: Terça-feira, 19 de Julho de 2011 22:24 Assunto: RE: [oracle_br] Instant Client para setar variavel no windows é set exp é pra linux... To: oracle_br@yahoogrupos.com.br From: luizhumberto_go...@yahoo.com.br Date: Tue, 19 Jul 2011 18:15:00 -0700 Subject: [oracle_br] Instant Client Instalei o Instant Client, conforme mencionado no site http://eduardolegatti.blogspot.com/2008/09/instalador-para-o-oracle-instant-client.html, porém a variável de ambiente não funcionou no windows XP, foi colocado na variável de ambiente o patch o caminho onde foi instalado, entretanto quando digita exp fala que não reconhece o comando. Obrigado! [As partes desta mensagem que não continham texto foram removidas] [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 [As partes desta mensagem que não continham texto foram removidas]
RE: [oracle_br] [Forms] Quantidade total de registros no bloco
Tiago Então continua valendo tudo o que eu escrevi. Remova o primeiro next_record e deve funcionar. Étore Schiavini mailto:et...@snpti.com.br et...@snpti.com.br 51 8116.4858 From: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br] On Behalf Of Tiago de Assis Pimenta Sent: quinta-feira, 14 de julho de 2011 08:40 To: oracle_br@yahoogrupos.com.br Subject: Re: [oracle_br] [Forms] Quantidade total de registros no bloco - Milton Bastos - Eu coloquei [Forms] no subjects realmente para ficar claro que era sobre Forms Builder que eu estava falando, mas agradeço da mesma forma ao amigo Duilio pela ajuda. - Duilio Bruniera Junior - Sem problemas cara, muito obrigado pela ajuda. - Chiappa - É isso mesmo que eu preciso, para ser mais expecificio, eu tenho um bloco master e um bloco filho, esse bloco filho é o bloco que eu preciso validar os registros. Nesse bloco eu tenho uma coluna chamada Tipo e ela só pode ser de um tipo. Então me pediram para fazer a verificação antes de inserir e antes de atualizar, mas como no pre-insert e no pre-update não posso usar a bult-in go_block e se não me engano a next_record também eu não posso usar, resolvi fazer a validação no on-commit. Se você achar uma maneira mais eficiente para tal, eu agradeceria se me avisasse. - Étore Schiavini - O que eu quiz dizer é o seguinte, se eu estiver inserindo novos registros, não posso fazer a verificação que eu comentei com o Chiappa ali em cima usando um select entende ? Pois eu ainda não tenho esses registros na tabela, por isso * EU ACHO * que para fazer essa verificação, só fazendo um loop no bloco antes mesmo dele gravar os registros na tabela. O commit lá no final é porque eu estou fazendo a verificação no on-commit. Galera, me desculpe se não fui claro de inicio. [ ]s De: Étore Schiavini et...@snpti.com.br mailto:etore%40snpti.com.br Para: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br Enviadas: Quarta-feira, 13 de Julho de 2011 18:11 Assunto: RE: [oracle_br] [Forms] Quantidade total de registros no bloco Tiago Só agora que outros alertaram que eu vi que era um bloco de Forms :-) Até agora não entendi o que tu quis dizer com antes mesmo que esses registros estejam fisicamente no banco mas vou desconsiderar essa sentença e responder a partir do resto da proposição. “Só que do jeito que está, dá pau se for um registro só.” Sim, porque aquele next_record antes do loop tá sobrando, ele impede o teste de um registro único. Suma com ele e tudo deve funcionar. Estranhei aquele commit antes da última atribuição mas deve fazer sentido no contetxo do teu forms. Abraço Étore Schiavini mailto:et...@snpti.com.br mailto:etore%40snpti.com.br et...@snpti.com.br mailto:etore%40snpti.com.br 51 8116.4858 From: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br ] On Behalf Of Tiago de Assis Pimenta Sent: quarta-feira, 13 de julho de 2011 14:57 To: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br Subject: Re: [oracle_br] [Forms] Quantidade total de registros no bloco Eu acho que não, pois acho que vai ser alguma bult-in do forms. Para ajudar a compreender a minha dúvida, vou por o código abaixo: /* Verificando se os tipos de dose são diferentes */ declare v_n_tipo number := 0; v_n_count number := 0; begin go_block('medicamento_protocolo'); first_record; v_n_tipo := :medicamento_protocolo.class_id_tipo_dose; next_record; loop if v_n_tipo != :medicamento_protocolo.class_id_tipo_dose then v_n_count := v_n_count + 1; end if; exit when :system.last_record = 'TRUE'; next_record; end loop; if v_n_count 0 then msg('Não é permitido Tipos de Dose diferentes no mesmo regime!'); raise form_trigger_failure; else commit; :medicamento_protocolo.tipo_dose := pck_util.fnc_get_descricao_class(:medicamento_protocolo.class_id_tipo_dose); end if; end; Só que do jeito que está, dá pau se for um registro só. [ ]s De: Duilio Bruniera Junior bruni...@gmail.com mailto:bruniera%40gmail.com mailto:bruniera%40gmail.com Para: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br Enviadas: Quarta-feira, 13 de Julho de 2011 13:49 Assunto: Re: [oracle_br] [Forms] Quantidade total de registros no bloco oh bgrother é isso que voce quer por um acaso? SELECT S.blocks FROM DBA_SEGMENTS S WHERE S.owner='OWNER' AND S.segment_name='NOME DA TABELA'; Em 13 de julho de 2011 12:41, Tiago de Assis Pimenta tiagopime...@ymail.com mailto:tiagopimenta%40ymail.com mailto:tiagopimenta%40ymail.com escreveu: ** Senhores, boa tarde. Gostaria de saber como faço para pegar a quantidade toda de registros em um bloco antes mesmo que esses registros estejam fisicamente no banco. Pois estou rodando um loop para verificar se tem tipos de registros diferente em uma determinada