OPERACAO NAO SUPORTADA

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Avatar do usuário
Amparo
Usuário Nível 3
Usuário Nível 3
Mensagens: 342
Registrado em: 20 Ago 2010 10:38
Localização: caieiras / sao paulo

OPERACAO NAO SUPORTADA

Mensagem por Amparo »

ola amigos

estou tento o seguinte erro
Error DBFCDX/12256242 Operação não suportada EMBALAR.FPT ( DOS Error 38)

uso DBFCDX com FPT

o meu arquivo EMBALAR.FPT esta corrompido, entao fiz um programa apenas para saber qual é o RECNO que esta corrompido, por exemplo

Código: Selecionar todos

do while !EMBALAR->( eof() )
    @ 09,10 say EMBALAR->( recno() )
    @ 10,10 say EMBALAR->ITENS ( este é o campo memo)
    EMBALAR->( dbskip() )
enddo
na execução vai mostrando o recno e o que tenho no campo memo ITENS, so que ao chegar no registro corrompido aparece a mensagem acima. PERGUNTO

existe algum utilitario para recuperar o registro corrompido, ou existe alguma forma de mostrar uma mensagem tipo ESTE REGISTRO ESTA CORROMPIDO e o sistema continuar a verificação sem dar o erro?

abraços
Editado pela última vez por anacatacombs em 26 Nov 2011 11:15, em um total de 1 vez.
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
Avatar do usuário
ANDRIL
Usuário Nível 5
Usuário Nível 5
Mensagens: 1297
Registrado em: 06 Jul 2004 00:44
Contato:

OPERACAO NAO SUPORTADA

Mensagem por ANDRIL »

Nao existe uma funcao nativa para tratamento desse tipo de erro, mais podemos detecta-lo pelo menos.

Código: Selecionar todos

bloco = {|e| break(e)} 
blocoantes=ERRORBLOCK( bloco )



do while !EMBALAR->( eof() )

   BEGIN SEQUENCE
   @ 09,10 say EMBALAR->( recno() )
   @ 10,10 say EMBALAR->ITENS ( este é o campo memo)
   EMBALAR->( dbskip() )
   RECOVER 
   @24,00 say"Erro no registro!"
   EMBALAR->( dbskip() )
   LOOP  
   END SEQUENCE

enddo

ERRORBLOCK( blocoantes )

Nao testei, mais é por ai. Veja que dentro da estrutura BEGIN SEQUENCE/END SEQUENCE se ocorrer um erro (qualquer erro) a instrucao apos RECOVER sera executada. Como nao testei, nao sei te informar se sera possivel resgatar o numero do registro, se ele tiver danificado por exemplo, ai entraria em loop eterno caso nao fosse possivel por isso nao coloquei. Voce podera fazer os ajustes e testes pois tem em maos o fator do erro.

Espero que te ajude.
Abraços
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
Avatar do usuário
Eolo
Colaborador
Colaborador
Mensagens: 1134
Registrado em: 08 Dez 2005 18:24
Localização: São Paulo - SP

OPERACAO NAO SUPORTADA

Mensagem por Eolo »

Amparo, de curioso, fui dar uma pesquisada no tal Erro 38 e achei o seguinte:

DOS Error 38:
38 NetBIOS command limit exceeded
Fonte: http://stanislavs.org/helppc/dos_error_codes.html

Em seguida, pesquisei pelo texto (NetBIOS command limit exceeded) e, pelo que encontrei, o problema parece ser no Windows e não no seu programa (digo, talvez não por causa de arquivos corrompidos).

Dê uma conferida:
http://support.microsoft.com/kb/810886
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

OPERACAO NAO SUPORTADA

Mensagem por rochinha »

Amiguinhos,

Quando se usa DBT/FPT e processa uma deleção de registro apenas o registro do DBF fica marcado enquanto que o registro correspondente no DBT/FPT nem sofre alteração.

Ao se processar um PACK os registros marcados para deleção são eliminados mas o conteudo do DBT/FPT referentes aos registros excluídos continuarção lá.

Tempos atrás disponibilizei/ou vi alguma função que processava uma limpeza nestes arquivos após um PACK. Pena que não encontro.

A dica é, se voce processar exclusões em arquivos que contenham DBT/FPT, o ideial é copiar o conteudo(COPY TO) para uma estrutura temporaria(desta forma os registros em DBT/FPT dos registros deletados não serão copiados), renomear os originais para qualquer nome e depois renomear os temporários para os originais.

Erros como o relatado podem ocorrer se registros em DBT/FPT de deleções ainda continuam nas tabelas.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

OPERACAO NAO SUPORTADA

Mensagem por Pablo César »

Eis os arquivos do tipo MEMO... na minha opinião: só atrapalham quando são incluídas no mesmo bd. Na mho deveria estar desvinculada.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Responder