Salvar e recuperar XML no banco de dados
Olá, bom dia. Tudo bem com todos?
Eu coloquei meu banco de dados firebird na Nuvem(SaveInCloud). Está funcionando muito bem, meu sistema também. Perfeito! Porém, trabalho com emissão de notas fiscais e preciso salvar os arquivos XMLS, tanto pra enviar para a contabilidade como para visualizar Danfe no sistema. Tentei salvar esses arquivos na SaveIncloud mas não obtive êxito. Pesquisei no fórum Acbr me disseram para salvar os XMLS no banco de dados, assim o fiz. Mas não sei como faço para recuperar os arquivos. Exemplo: se eu emitir 200 notas no mês de março, e precisar baixá-las em xml para enviar para a contabilidade, como que consigo recuperar essas informações no banco de dados, da forma menos trabalhosa possível?
Eu coloquei meu banco de dados firebird na Nuvem(SaveInCloud). Está funcionando muito bem, meu sistema também. Perfeito! Porém, trabalho com emissão de notas fiscais e preciso salvar os arquivos XMLS, tanto pra enviar para a contabilidade como para visualizar Danfe no sistema. Tentei salvar esses arquivos na SaveIncloud mas não obtive êxito. Pesquisei no fórum Acbr me disseram para salvar os XMLS no banco de dados, assim o fiz. Mas não sei como faço para recuperar os arquivos. Exemplo: se eu emitir 200 notas no mês de março, e precisar baixá-las em xml para enviar para a contabilidade, como que consigo recuperar essas informações no banco de dados, da forma menos trabalhosa possível?
Luan
Curtidas 0
Melhor post
Paulo
19/02/2022
Eu não salvaria o arquivo propriamente dito no banco. Vulgarmente falando o xml não passa de um "arquivo de texto". Eu armazenaria o seu conteudo dentro de um campo blob. Quando o usuario for exportar os dados para a contabilidade você lê os campos e gera um arquivo xml.
GOSTEI 1
Mais Respostas
Luan
19/02/2022
Eu não salvaria o arquivo propriamente dito no banco. Vulgarmente falando o xml não passa de um "arquivo de texto". Eu armazenaria o seu conteudo dentro de um campo blob. Quando o usuario for exportar os dados para a contabilidade você lê os campos e gera um arquivo xml.
Eu salvei o conteúdo dentro de um campo blob. Eu não estou sabendo como ler o campo e gerar o arquivo xml. Preciso gerar 20 XMLs, por exemplo. Como eu faço?
GOSTEI 0
Paulo
19/02/2022
Eu criaria um campo blob sub type 1, segment size 100.
Referente a quantidade de XMLs a gerar isso vai ser sempre variavel, dependendo a dinamica do seu sistema e a necessidade do usuario. Supondo que a tabela de arquivos xml está ligada a tabela de NFe você faz o select no banco trazendo apenas o resultado solicitado.
Para fazer a leitura do campo blob pode fazer assim,
Eu jogaria o conteudo dentro de uma tstringlist e salvaria onde o usuario pediu (voce trata isso com um savedialog).
Geralmente o nome do arquivo é a chave de acesso.xml
Referente a quantidade de XMLs a gerar isso vai ser sempre variavel, dependendo a dinamica do seu sistema e a necessidade do usuario. Supondo que a tabela de arquivos xml está ligada a tabela de NFe você faz o select no banco trazendo apenas o resultado solicitado.
Para fazer a leitura do campo blob pode fazer assim,
FDQuery1.Fields[0].AsString;
Eu jogaria o conteudo dentro de uma tstringlist e salvaria onde o usuario pediu (voce trata isso com um savedialog).
Geralmente o nome do arquivo é a chave de acesso.xml
var xml : TStringList; begin with FDQuery1 do begin Close; SQL.Clear; SQL.Add('seu select'); Open; end; if not FDQuery1.IsEmpty then begin xml := TStringList.Create; xml.Add(FDQuery1.Fields[0].AsString); xml.SaveToFile('C:\\teste.xml'); end; FreeAndNil(xml);
GOSTEI 0