ARMAZENAR XML BANCO DE DADOS

 Tópico anterior Próximo tópico Novo tópico

ARMAZENAR XML BANCO DE DADOS

VB.NET

 Compartilhe  Compartilhe  Compartilhe
#488330 - 14/04/2019 09:51:38

ALTAIR148
ARINOS
Cadast. em:Janeiro/2011


Última edição em 14/04/2019 09:54:43 por ALTAIR148

Bom dia,

Tenho uma real necessidade de armazenar XML referente a NFCe emitidos. Armazenar esses arquivos direto nas máquinas não é interessante, pois qualquer um pode ir lá e manipula-lós, sendo assim gostaria de armazena-lós em uma base de dados, cheguei a dar uma olhada no MongoDB, mas quando se tem muitos arquivos nele, ele consome muita memória RAM, o que seria ruim para mim, pois meus clientes não tem máquinas com muita RAM disponivel.

Alguém pode me indicar a melhor forma de se fazer isso, e de uma forma que não comprometa a performance do PC?

Hoje uso MYSQL para meu sistema principal, mas ele tem ficado muito grande e com isso perdendo performance.



Até mais.

Altair Pereira

Ao encerrar o tópico não se esqueça de agradecer... Não custa nada...

Grupo .NET no Facebook

GRUPO .NET

#488337 - 14/04/2019 12:49:58

JONESPARIS
ERECHIM
Cadast. em:Fevereiro/2006


Considero complicada esta questão de armazenar o Xml em banco de dados, mas eu teria suas alternativas:
1 - Consultar e baixar o Xml da Sefaz sempre que precisar do arquivo;
2 - Criar uma base de dados separada, em Mysql mesmo, tendo em vista que você jé conhece a ferramenta.


Jones Paris

#488354 - 15/04/2019 08:48:06

FOXMAN
BARRETOS
Cadast. em:Janeiro/2001


Membro da equipe
Altair, bom dia
Eu utilizo o mysql do meu sistema principal para armazenar o xml.
Até o momento não me alterou a performace.
Muito em virtude de utilizar consultas bem específicas e principalmente,
A utilização de VIEWS, FUNCTIONS e STORED PROCEDURES, retornando apenas a informação necessária.

Lógico de tudo é muito relativo, mas não acredito que a adição de um campo possa diminuir a performance do banco.



Grupo DotNet.Br no FaceBook



#488356 - 15/04/2019 08:59:22

GUIMORAES
ITAPETININGA
Cadast. em:Agosto/2009


Uso Firebird na minha principal aplicação, e armazeno tranquilamente os arquivos no banco de dados, sem perder o desempenho ou até com um crescimento elevado do banco.
Armazeno os arquivos em base64, depois decodifico quando necessário.

Também tenho um serviço (Web API) em um servidor, onde armazeno os xml's de todos os clientes, em um banco MySQL. Salvo também como base64.
Quando o cliente transmite uma NF-e, NFC-e, SAT, MDF-e, CT-e, NFS-e, disparo uma chamada em segundo plano para meu end-point, com os dados do cliente e o arquivo em base64. Depois disponibilizo isto para o cliente baixar, concentrando as informações em um único lugar. O legal é que nesta estrutura, a contabilidade pode fazer o download dos arquivos, por meio de um "token", que é exclusivo do cliente, desta forma dispensei a necessidade de enviar os arquivos xml para os contadores no início do mês.




#488357 - 15/04/2019 09:24:16

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Como XML é apenas texto, você pode tranquilamente ter uma tabela com um campo VarChar ou equivalente e gravar o conteúdo serializado lá. Se for uma tabela separada das tabelas do dia a dia, melhor. Simplesmente faça um vínculo à ela e pronto.

_______________________________________________________________________
Virei Oráculo!
The end is nigh, be ready for the nukes!


#488358 - 15/04/2019 09:43:23

NILSONTRES
SAO PAULO
Cadast. em:Março/2012


Citação:
  Eu utilizo o mysql do meu sistema principal para armazenar o xml.
Até o momento não me alterou a performace.
Muito em virtude de utilizar consultas bem específicas e principalmente,
A utilização de VIEWS, FUNCTIONS e STORED PROCEDURES, retornando apenas a informação necessária.

Utilizo o Mysql e armazeno em base 64, caso falte um cupom o sistema converte.



#488365 - 15/04/2019 14:23:56

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Citação:
:
  Eu utilizo o mysql do meu sistema principal para armazenar o xml.
Até o momento não me alterou a performace.
Muito em virtude de utilizar consultas bem específicas e principalmente,
A utilização de VIEWS, FUNCTIONS e STORED PROCEDURES, retornando apenas a informação necessária.
Utilizo o Mysql e armazeno em base 64, caso falte um cupom o sistema converte.

Não vejo porque usar Base64, XML é puramente um Varchar

_______________________________________________________________________
Virei Oráculo!
The end is nigh, be ready for the nukes!


#488367 - 15/04/2019 15:17:41

GUIMORAES
ITAPETININGA
Cadast. em:Agosto/2009


Citação:
  Não vejo porque usar Base64, XML é puramente um Varchar  


Nenhum motivo aparente, armazeno como Base64 pois recebemos o arquivo assim, e para criar um padrão, deixamos assim.
Como armazeno o arquivo localmente, em um banco de dados localizado na empresa, acreditamos que a informação não ficará tão explícita (para os curiosos de plantão).
Mas isto é uma questão pessoal, poderíamos armazenar o arquivo xml como varchar(max) com a sua estrutura "original".



#488368 - 15/04/2019 15:36:26

NILSONTRES
SAO PAULO
Cadast. em:Março/2012


Última edição em 15/04/2019 15:44:24 por NILSONTRES

Citação:
  Não vejo porque usar Base64, XML é puramente um Varchar  

É o padrão que recebemos, com assinatura e tudo, muito mais pratico e funcional, e ao converter não existe possibilidades de erros, bem mais seguro.
Estou me referindo a SAT Fiscal, NFCe não sei se o retorno é em Base64.





 Tópico anterior Próximo tópico Novo tópico


Para responder este tópico o login é requerido
Se você já possui uma conta de usuário por favor faça seu login
Se você não possui uma conta de usuário use a opção Criar usuário