Página 2 de 2

Erro em rede Windows 7

Enviado: 02 Mai 2013 18:19
por JoséQuintas
O sistema vinha rodando bem nesse ambiente, há mais de um ano.
Isso que mencionou é ajustável.

Código: Selecionar todos

   Set( _SET_FILECASE, 2 ) // Default como Uppercase
   Set( _SET_DIRCASE, 2 )  // Default como Uppercase

Erro em rede Windows 7

Enviado: 15 Mai 2013 01:44
por JoséQuintas
Até hoje não acionou nenhuma vez os File() alternativos.
Parece que realmente o problema realmente era limite, e a alteração do registro resolveu.
A rotina que deixei no final foi esta, porque usuário pode não avisar.
Sempre que tem log de erro, o sistema já me envia por email.
Mas até hoje mais nenhuma ocorrência.

O erro que mencionei foi só um dos erros.
Faço amarração no sistema pelo número de pedido, no financeiro e estoque.
Tem alguns pedidos que sumiram. O sistema checa fácil, porque tem lá os ítens de pedido, estoque e financeiro, mas não o cabeçalho de pedido. E olhando os backups, o problema começou junto com os erros.
Incrível, desde o W98 o Windows se aperfeiçoou muito, as máquinas ganharam muito mais memória, e os limites ficaram menores.

Código: Selecionar todos

FUNCTION JPA_File( cFile )
   LOCAL lAchou := .t., cFile2
   cFile2 := cFile
   IF .NOT. ":" $ cFile2
      cFile2 := HB_CurDrive() + ":" + cFile2
   ENDIF
   DO CASE
   CASE File( cFile )
   CASE File( cFile2 )
      WriteErrorLog( "Funcionou File(Drive)", .t. )
      MsgExclamation( "Avise a JPA que File( Drive ) funcionou e pra retirar esta mensagem" )
   CASE hb_FileExists( cFile )
      WriteErrorLog( "Funcionou hb_FileExists(file)", .t. )
      MsgExclamation( "Avise a JPA hb_FileExists() funcionou e pra retirar esta mensagem" )
   CASE hb_FileExists( cFile2 )
      WriteErrorLog( "Funcionou hb_FileExists(Drive)", .t. )
      MsgExclamation( "Avise a JPA que hb_FileExists( Drive ) funcionou e pra retirar esta mensagem" )
   OTHERWISE
      lAchou := .f.
   ENDCASE
   RETURN lAchou

Erro em rede Windows 7

Enviado: 23 Jul 2013 14:05
por JoséQuintas
Pela primeira vez foi acionada a segunda opção dessa rotina que postei.
Aconteceu em uma máquina com Windows 8, acessando Windows Server.
Mas é muito pouco pra se concluir alguma coisa, foi uma única ocorrência em 2 meses
Foi acionada a opção 2, contendo letra do drive.

Como os problemas sumiram, tudo indica que era mesmo o limite de arquivos abertos.
Em todo caso, alterei um pouco a rotina pra ter mais detalhes, havia até me esquecido dela até hoje.
Se acontecer de novo, vou inverter a ordem dos dois primeiros.
Por enquanto, mexi nas mensagens pra quando acontecer lembrar mais fácil, e ter mais detalhes.
Poderia ser até um arquivo temporário sendo esperado

Código: Selecionar todos


FUNCTION JPA_File( cFile )
   LOCAL lAchou := .t., cFile2, cTexto
   cFile2 := cFile
   IF .NOT. ":" $ cFile2
      cFile2 := HB_CurDrive() + ":" + cFile2
   ENDIF
   DO CASE
   CASE File( cFile )
   CASE File( cFile2 )
      cTexto := "Falhou File(" + cFile + ") e funcionou File(" + cFile2 + ")"
      WriteErrorLog( cTexto, .t. )
      MsgStop( cTexto )
   CASE hb_FileExists( cFile )
      cTexto := "Falhou File(" + cFile + "), File(" + cFile2 + ") e funcionou hb_FileExists(" + cFile + ")"
      WriteErrorLog( cTexto, .t. )
      MsgStop( cTexto )
   CASE hb_FileExists( cFile2 )
      cTexto := "Falhou File(" + cFile + "), File(" + cFile2 + "), hb_FileExists(" + cFile + ") e funcionou hb_FileExists(" + cFile2 + ")"
      WriteErrorLog( cTexto, .t. )
      MsgStop( cTexto )
   OTHERWISE
      lAchou := .f.
   ENDCASE
   RETURN lAchou