Fórum Como ler um arquivo texto atraves de uma consulta #236878
09/06/2004
0
Hdionizio
Curtir tópico
+ 0Posts
09/06/2004
Thaisandrade
Gostei + 0
09/06/2004
Hdionizio
Gostei + 0
09/06/2004
Thaisandrade
Gostei + 0
09/06/2004
Aroldo Zanela
Você até consegue ler arquivos textos por meio de Tables do BDE, mas mesmo assim, o tempo de I/O deverá ser muito próximo a leitura pura e simples por meio de TStringList ou AssignFile ... ReadLn ou talvez inferior. Mesmo assim, poderia estar utilizando componente BatchMove para popular sua tabela. No entanto, a opção de ler o arquivo com AssignFile ... ReadLn deverá ser a mais apropriada.
Descreva mais detalhes de sua necessidade para que possamos tentar ajudar mais.
Gostei + 0
11/06/2004
Hdionizio
Eu estou fazendo sistema de vendas que possui uma lista de produtos com seus respectivos preços e um estoque que fica em cada unidade como os preços e as promoções são feitas e autorizadas pela central eu imaginei o seguinte, atualizar a lista de peços somente sem modificar o estoque so que ai surgiu o problema a lista de produto é muito grande pois são mais de 60000000 itens para atualizar e o pior é que a atualização é feita por disquete. Por isso gostaria q a query abrice o arquivo texto pois eu posso mandar como arquivo texto que é bem pequeno e simplismente substituo esse arquivo texto.
Bom pessoal não sei se a ideia que tive é correta mas se alguem puder me ajuda eu agradeço.
Gostei + 0
11/06/2004
Thaisandrade
Gostei + 0
11/06/2004
Maxwell_monteiro
Gostei + 0
11/06/2004
Hdionizio
Portanto se alguem souber como eu faço para fazer uma Query ler um arquivo texto como se foce uma tabela eu agradeço.
Gostei + 0
12/06/2004
Thematrix:reloaded
CREATE TABLE ESTOQUE
EXTERNAL FILE ´C:\TEMP\ESTOQUE.TXT´
(
CODPRODCHAR(6),
DESCRICAOCHAR(40),
ESTOQUE CHAR(8),
EOL_CHRCHAR(2)
);
O campo EOL_CHR é obrigatório, é o retorno de carro no arquivo texto!
Pronto o interbase vai interpretar o seu arquivo texto.
Limitações:
> O arquivo texto tem que estar sempre no mesmo lugar
> O arquivo texto deve ser formatado com tamanho fixo (sem delimitador)
> O ideal é vc copiar o conteúdo do disquete para um diretório do HD, no exemplo: C:\TEMP
QQ Dúvida é só dizer!
Gostei + 0
12/06/2004
Thematrix:reloaded
CREATE TABLE ESTOQUE
EXTERNAL FILE ´C:\TEMP\ESTOQUE.TXT´
(
CODPROD CHAR(6),
DESCRICAO CHAR(40),
ESTOQUE CHAR(7),
EOL_CHR CHAR(2)
);
Gostei + 0
13/06/2004
Carlosrm
numa das suas mensagens vc fala em ´ganhar velocidade nas consultas´
em outra, vc diz que sua lista de produtos tem acima de 60 milhões de produtos...
Como já alertou o Maxwell_Monteiro, deve estar havendo algum grande equívoco na montagem das suas tabelas...
Só a título de exemplo, me baseei na lista de produtos do Submarino.com, que em uma de suas próprias informações diz (copiei sem licença, por minha conta e risco):
´ A Maior Empresa de Comércio Eletrônico do Brasil
O Submarino é a maior loja de comércio eletrônico do país. O Submarino possui o maior sortimento de produtos disponíveis no varejo brasileiro, com cerca de 700 mil itens cadastrados, em 16 categorias: Livros, CDs, DVDs, Eletrônicos, Cine & Foto, Eletrodomésticos, Utilidades Domésticas, Cama, Mesa e Banho, Informática, Games, Esporte & Lazer, Telecomunicações, Brinquedos, Pet Shop, Beleza & Saúde e Presentes Finos. ...´ (www.submarino.com.br/)
Quero chamar a atenção para o fato de que eles (Submarino) trabalham com cerca de 700 mil itens...e não 60 milhões...
Aposto meu 13.o salário (não recebo...!) de que com uma reestruturação das sua tabelas vc terá ganhos de velocidade incríveis e possibilidades muito maiores de melhor aproveitamento das informações armazenadas. Muito basicamente: em vez de trabalhar com uma tabela gigantesca (muitos dados e informação repetida, que aumentam a demora no processamento, exigem mais recursos de máquina, aumentam chance de erro, entre outros), vc terá mais tabelas, inter-relacionadas, porém todas muito menores e de manutenção bem mais simples e rápida...
Quanto melhor estruturadas estiverem suas tabelas, muito mais eficazes serão as consultas sql e outras operações de um SGBD. Tente primeiro aperfeiçoar a estrutura das tabelas. Depois disso a sql vai poder mostrar pra que foi criada.
Se o seu maior problema está em abertura do programa, consultas, atualização... me parece (como já foi dito) que o calcanhar de Aquiles aí é a estrutura das suas tabelas... Procure aperfeiçoar esta parte primeiro... os ganhos obtidos compensarão plenamente os eventuais custos...
Depois disso, suas consultas e atualizações vão ´voar´...
boa sorte. carlosrm :wink:
Gostei + 0
14/06/2004
Hdionizio
Como os caras vendem de moveis a tempero de cozinha imagina so quantos itens não tem.
Gostei + 0
14/06/2004
Redoctober
Uma sugestão!
Você diz que o motivo de gravar em arquivo de texto é pelo fato de salvar os dados em um disquete... Faça o seguinte, utilize uma comunicação entre as lojas para que você não precise utilizar o disquete. Caso todas as lojas tenha internet, ótimo! Aí utilize Sockets, caso não tenho faça uma comunicação direta com DialUp...
Apenas uma idéia.
Abraço
Gostei + 0
15/06/2004
Hdionizio
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)