Erro em rede Windows 7

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Erro em rede Windows 7

Mensagem 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
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Erro em rede Windows 7

Mensagem 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
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Erro em rede Windows 7

Mensagem 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
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Responder