Fórum Erro quot;insufficient disk spacequot;, Delphi 6 SQL SER #275594
05/04/2005
0
Tenho um sistema desenvolvido em Delphi 6 e que utiliza banco de dados SQL Server 2000. Acontece que em determinado módulo quando tento gravar os dados em uma tabela de empregados (um simples insert), o sistema leva um tempo exagerado e retorna a mensagem de erro ´INSUFFICIENT DISK SPACE´.
Notei também que durante este tempo de espera, é criado um arquivo temporário (C:\documents and settings\programacao1\configurações locais\[b:0d36d14576]INMEM000.REM[/b:0d36d14576]), este arquivo vai crescendo (chega até aproximandamente uns 400mb) é quando o sistema devolve a mensagem de erro...
Alguém pode me ajudar?
Moisés
Outl@w
Curtir tópico
+ 0Posts
05/04/2005
Outl@w
Gostei + 0
05/04/2005
Edilcimar
Gostei + 0
05/04/2005
Outl@w
Gostei + 0
05/04/2005
Edilcimar
Gostei + 0
05/04/2005
Outl@w
Gostei + 0
05/04/2005
Aroldo Zanela
Tenho um sistema desenvolvido em Delphi 6 e que utiliza banco de dados SQL Server 2000. Acontece que em determinado módulo quando tento gravar os dados em uma tabela de empregados (um simples insert), o sistema leva um tempo exagerado e retorna a mensagem de erro ´INSUFFICIENT DISK SPACE´.
Notei também que durante este tempo de espera, é criado um arquivo temporário (C:\documents and settings\programacao1\configurações locais\[b:6a974c7863]INMEM000.REM[/b:6a974c7863]), este arquivo vai crescendo (chega até aproximandamente uns 400mb) é quando o sistema devolve a mensagem de erro...
Alguém pode me ajudar?
Moisés[/quote:6a974c7863]
Colega,
Qual o mecanismo de acesso (ADO, BDE, DBX)?
Gostei + 0
05/04/2005
Aroldo Zanela
[quote:ef0f44365b=´Sergio Samayoa <tecapl@c.net.gt>´]I will try to explain.
Almost all SQL databases can´t do scroll forward and backward in the
cursors. By definition, all cursors are unidirectional. Since in your
applications you can scroll forward and backward, it is necesary for BDE to
cache all ´visited´. This is why is necesary the inmem tables. Even worse,
BDE uses DBLib witch can be only one cursor active in the DB session, then
when you open another table/query it is necesary to fetch all data from the
first cursor to reuse the only cursor available in the session. The use of
inmem tables can´t be avoided since is requered by BDE.
If you don´t want large inmen files you must use queries witch returns few
records.
Regards. [/quote:ef0f44365b]
Gostei + 0
05/04/2005
Outl@w
Gostei + 0
05/04/2005
Outl@w
Gostei + 0
05/04/2005
Rjun
Gostei + 0
05/04/2005
Aroldo Zanela
Colega,
Também tenho interesse em verificar como está sendo feito esta inserção. Todos os papers que li em fóruns internacionais apontam para:
- Falta de espaço no diretório para o arquivos temporário;
- Select com pouca ou nenhum restrição, ocasionando um resultset com muitos dados;
Não me parece ser o seu caso.
Praticamente todas as questões levantadas sobre o assunto tiveram a mesma indicação de solução: - Migrar para ADO ou DBX.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)