boa tarde a todos!
Tenho um arquivo xml que gero com os registros da minha base de dados, neste arquivo mando todos os dados de um paciente, entre eles a matricula(controle meu) e o numero de cartão(controle de outra entidade), o numero do cartao que vai no arquivo que gero é provisório.
Envio este arquivo para outra entidade que vai gerar um numeor de cartão definitivo, ápós isto o arquivo volta pra mim e tenho que procurar no banco de dados e atualizar o campo cartão, agora com o número definitivo.
alguma dica?
ler aqruivo xml , localizar registro e atualiza no banco
-
- Rank: Programador Pleno
- Mensagens: 44
- Registrado em: Qua, 04 Jan 2006 9:12 am
- Localização: Botucatu - SP
- Contato:
-
- Rank: Analista Pleno
- Mensagens: 110
- Registrado em: Ter, 24 Mai 2005 9:16 pm
- Localização: Dongguan - Guangdong - China
Olá
Não sei se te entendi muito bem, mas se você gera um numero de cartão provisório ao meu entender você terá que manter esse número provisório dentro do arquivo que volta para você, para que dai possa consultar por ele e dai sim atualizar.
Bem para consultar isso dentro do arquivo você terá que ler essa planilha, uma dica seria usar essa rotina que tem nesse link
http://glufke.net/oracle/viewtopic.php? ... light=ole2
Não sei se te entendi muito bem, mas se você gera um numero de cartão provisório ao meu entender você terá que manter esse número provisório dentro do arquivo que volta para você, para que dai possa consultar por ele e dai sim atualizar.
Bem para consultar isso dentro do arquivo você terá que ler essa planilha, uma dica seria usar essa rotina que tem nesse link
http://glufke.net/oracle/viewtopic.php? ... light=ole2
-
- Rank: Programador Sênior
- Mensagens: 45
- Registrado em: Qua, 31 Out 2007 9:30 am
- Localização: Uberlândia
Rafael Rocha
Amigo,
Se você for trabalhar com XML, aconselho a você manipular este tipo de dados dentro de uma coluna XMLType.
Deixa te dar um exemplo:
- Imagine uma tabela com duas colunas: idTransacao (Number) e xmlRetorno (XMLType). Com um procedimento (há vários exemplos na Internet), você pode carregar um arquivo xml para a coluna XMLType de sua tabela.
Exemplo de um XML:
Para manipular o XML, extrair dados de uma das tags, você pode utilizar um select extractvalue.
Imagine que iremos capturar o conteúdo da tag "nProt". EX:
Espero ter ajudado!
Rafael
Se você for trabalhar com XML, aconselho a você manipular este tipo de dados dentro de uma coluna XMLType.
Deixa te dar um exemplo:
- Imagine uma tabela com duas colunas: idTransacao (Number) e xmlRetorno (XMLType). Com um procedimento (há vários exemplos na Internet), você pode carregar um arquivo xml para a coluna XMLType de sua tabela.
Exemplo de um XML:
<?xml version="1.0" encoding="UTF-8" ?>
<cancNFe xmlns="http://www.portalfiscal.inf.br/nfe" versao="1.07">
<infCanc Id="ID31080765382137000101550000000000240006169719">
<tpAmb>2</tpAmb>
<xServ>CANCELAR</xServ>
<chNFe>31080765382137000101550000000000240006169719</chNFe>
<nProt>310000000162316</nProt>
<xJust>TESTE DE CANCELAMENTO - SEXTA FEIRA</xJust>
</infCanc>
</cancNFe>
Imagine que iremos capturar o conteúdo da tag "nProt". EX:
select extractvalue(a.xmlretorno, /cancNFe/infCanc/nProt, 'http://www.portalfiscal.inf.br/nfe')
into xNProt
from tabelaXML a
where and a.idtransacao = xID_transacao;
Rafael
-
- Rank: Programador Pleno
- Mensagens: 44
- Registrado em: Qua, 04 Jan 2006 9:12 am
- Localização: Botucatu - SP
- Contato:
schnu
em ralação ao cartão provisório, não é ele minha chave, mas sim a matricula!
vejam o que fiz:
usei o jdom e consigo ler o arquivop xml, e fazer consultas! Agora minha dúvida é:
preciso pegar a matricula do paciente que está no xml e consultar na tabela paciente, se achar comparo se o numero do cartão são os mesmos, caso não seja atualizo o cartão na tabela paciente de acordo com o que está no xml!
A dúvida é como implementar isso? Alguém poderia me dar uma idéia?
Já tenho a classe que lê e varre os dados no xml funcionando!
em ralação ao cartão provisório, não é ele minha chave, mas sim a matricula!
vejam o que fiz:
usei o jdom e consigo ler o arquivop xml, e fazer consultas! Agora minha dúvida é:
preciso pegar a matricula do paciente que está no xml e consultar na tabela paciente, se achar comparo se o numero do cartão são os mesmos, caso não seja atualizo o cartão na tabela paciente de acordo com o que está no xml!
A dúvida é como implementar isso? Alguém poderia me dar uma idéia?
Já tenho a classe que lê e varre os dados no xml funcionando!
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
import java.util.List;
import java.util.Iterator;
import java.sql.*;
import java.util.ArrayList;
public class LeXML {
@SuppressWarnings ("unchecked")
private Connection conn;
private Statement stmt;
private ResultSet rs;
public static void main(String args[]){
Document doc = null;
SAXBuilder builder = new SAXBuilder();
try{
doc=builder.build("teste2.xml");
}catch (Exception e){
e.printStackTrace();
}
Element DADOS = doc.getRootElement();
List<Element>lista =DADOS.getChildren();
Iterator i = lista.iterator();
while (i.hasNext())
{
//for (Element e: lista){
// System.out.println(e.getChildText("ENDERECO"));
Element l =(Element) i.next();
if(l.getChild("USUARIOS").getChild("USUARIO").getAttributeValue("CO_USUARIO")!=null);//.equalsIgnoreCase("3465")){
System.out.println("USUARIO:"+l.getChild("USUARIOS").getChild("USUARIO").getAttributeValue("CO_USUARIO"));
System.out.println("CODIGO DO ENDEREÇO:"+l.getAttributeValue("CO_ENDERECO"));
System.out.println("CODIGO DO MUNICÍPIO:"+l.getAttributeValue("CO_MUNICIPIO"));
System.out.println("CNS:"+l.getChild("USUARIOS").getChild("USUARIO").getChild("GRUPO_CNS").getChild("CNS").getAttributeValue("CO_NUMERO_CARTAO"));
System.out.println("----------------------------------");
}
}
}catch(SQLException e){
throw new ConnectioNDAOException(e.getMessage());
}
}
}
//}
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Brow, beleza?
Cara, dá uma pesquisada aqui no fórum por XML que irá encontrar exemplos interessantes como estes abaixo:
Clob to Xmltype
http://www.glufke.net/oracle/viewtopic. ... ht=xmltype
Ler XML e inserir no banco
http://www.glufke.net/oracle/viewtopic.php?t=[/b]020&highlight=xml
Qualquer dúvida, manda pra gente.
Cara, dá uma pesquisada aqui no fórum por XML que irá encontrar exemplos interessantes como estes abaixo:
Clob to Xmltype
http://www.glufke.net/oracle/viewtopic. ... ht=xmltype
Ler XML e inserir no banco
http://www.glufke.net/oracle/viewtopic.php?t=[/b]020&highlight=xml
Qualquer dúvida, manda pra gente.
-
- Rank: Estagiário Júnior
- Mensagens: 2
- Registrado em: Qui, 05 Mar 2009 12:23 pm
- Localização: são Paulo SP
beleza cara....
Então eu já havia pesquisado estes dois tópicos, mas eles mostram como se extrai informações de dentro do xml para uma tabela.
eu na verdade estou em um passo anterior que é pegar o arquivo em uma area do servidor (ftp por exemplo) e gravar este arquivo dentro do banco ( no meu caso um xmltype) para que depois sim, eu possa ler esse arquivo usando os topicos acima.
desde já agradeço
Abraço
Então eu já havia pesquisado estes dois tópicos, mas eles mostram como se extrai informações de dentro do xml para uma tabela.
eu na verdade estou em um passo anterior que é pegar o arquivo em uma area do servidor (ftp por exemplo) e gravar este arquivo dentro do banco ( no meu caso um xmltype) para que depois sim, eu possa ler esse arquivo usando os topicos acima.
desde já agradeço
Abraço
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Então brother,
Dá uma olhada como buscar do teu servidor.
Para passar para um XMLType, também tem exemplos nos links.
Você pode dar um insert do teu Clob usando a função XMLType.
Por exemplo:
Acho que da versão 9i em diante já existe essa função pronta do Oracle.
Qualquer coisa, manda pra gente.
Dá uma olhada como buscar do teu servidor.
Para passar para um XMLType, também tem exemplos nos links.
Você pode dar um insert do teu Clob usando a função XMLType.
Por exemplo:
INSERT INTO tua_table (tua_col_xmltype)
VALUES XMLTYPE(vtua_informacao_clob);
Qualquer coisa, manda pra gente.
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 6 visitantes