Página 1 de 1

Error SDF/1004 Erro de criação: d:\sitema\arquivo.xml

Enviado: 06 Mai 2019 15:48
por juniorcamilo
em um cliente esta com vários problemas de Erro de criação! tanto local quanto em rede!
parte do codigo onde deu esse erro... e na é ta ha e nem sempre!!

Código: Selecionar todos

     Sele LINHAO
     cArqaux := "d:\sstea\arquiv.xml"     
     COPY TO &cArqaux. SDF
Error SDF/1004 Erro de criação: d:\sitema\arquivo.xml
__DBCOPY(0)
_DBSDF(0)
GERAFE(2220)
....
....

outra duvida pq os error estão em português?

Error SDF/1004 Erro de criação: d:\sitema\arquivo.xml

Enviado: 06 Mai 2019 15:57
por Itamar M. Lins Jr.
Ola!

a) Formatar a maquina.
b) Antivirus
c) Hd com badblocks
e) Falha no seu código! Veja se o arquivo existe ou se tem alguém acessando.

Saudações,
Itamar M. Lins Jr.

Error SDF/1004 Erro de criação: d:\sitema\arquivo.xml

Enviado: 06 Mai 2019 17:28
por JoséQuintas
Erro em português.... ou alterou Harbour pra language PTBR, ou tem errorsys personalizada, o que pode não mostrar o erro corretamente.

Com certeza está incompleta porque falta o "DOS ERROR xxxxx", que facilitaria identificar o motivo do erro.

Por acaso o nome da pasta é sitema ou sistema?
Tá parecendo que seu teclado está falhando, e talvez os nomes no fonte estejam errados.

Comparou o nome da pasta, pra ver se existe no disco? ou se está protegido contra gravação? ou se o usuário tem acesso à pasta? etc. etc. etc.
Comece tentando obter a mensagem completa/correta do erro.

Error SDF/1004 Erro de criação: d:\sitema\arquivo.xml

Enviado: 06 Mai 2019 18:59
por Itamar M. Lins Jr.
Ola!
e na é ta ha e nem sempre!!
Entendi que o erro é aleatório. As vezes funciona.
Neste caso verificar a existência do arquivo antes de criá-lo, mover ele para a pasta /tmp por exemplo, ou tentar apagar, antes de criar. Para não tentar criar com o arquivo já aberto...

Saudações,
Itamar M. Lins Jr.

Error SDF/1004 Erro de criação: d:\sitema\arquivo.xml

Enviado: 08 Mai 2019 08:32
por juniorcamilo
JoséQuintas escreveu:Erro em português.... ou alterou Harbour pra language PTBR, ou tem errorsys personalizada, o que pode não mostrar o erro corretamente.
Sim utilizo um errorsys personalizado(peguei aki no forum), mas não possui a msg em português no código!
Como faz para por em Inglês?
JoséQuintas escreveu:Por acaso o nome da pasta é sitema ou sistema?
Tá parecendo que seu teclado está falhando, e talvez os nomes no fonte estejam errados..
Sim é o meu teclado mas falhou ao digitar aqui no fórum e não no meu código!!
JoséQuintas escreveu:Comparou o nome da pasta, pra ver se existe no disco? ou se está protegido contra gravação? ou se o usuário tem acesso à pasta? etc. etc. etc.
Comece tentando obter a mensagem completa/correta do erro.
Sim fiz verificação de pasta e arquivo!! outro lugar q da esta mesma(não é td hora!!) mensagem é hora de abrir um arquivo

Código: Selecionar todos

      use ( nomarq ) new alias ( aliarq ) SHARED &&via Tipo
      If neterr() == .t.
      .....

Error SDF/1004 Erro de criação: d:\sitema\arquivo.xml

Enviado: 08 Mai 2019 08:48
por juniorcamilo
Itamar M. Lins Jr. escreveu:Ola!
Neste caso verificar a existência do arquivo antes de criá-lo, mover ele para a pasta /tmp por exemplo, ou tentar apagar, antes de criar. Para não tentar criar com o arquivo já aberto...
Sim ja esta verificando isso!!
este problema só em um único cliente e começou de um dia para outro!! eu pus aki no fórum para saber c alguém já passou por isso mas acho q deva ser maquina ou rede!!

Error SDF/1004 Erro de criação: d:\sitema\arquivo.xml

Enviado: 08 Mai 2019 09:01
por Jairo Maia
Olá Pessoal,

Para o erro aparecer em inglês, remova de sua função Main() o comando: Hb_LangSelect( "PT " ). Esse comando coloca as mensagens do Harbour em português (não confundir com Hb_CdpSelect(), esse por sua vez seleciona a Code Page).

Quanto ao erro nessa máquina, sugiro você baixar e rodar o AdwCleaner: https://toolslib.net/downloads/viewdown ... dwcleaner/ (site oficial), mesmo que tenha antivirus na máquina, é possível ela ter sido contaminada por algum malwere que periodicamente está interferindo.

Error SDF/1004 Erro de criação: d:\sitema\arquivo.xml

Enviado: 08 Mai 2019 13:38
por JoséQuintas
Eu continuo insistindo na remoção da errorsys, pra ver direito a mensagem de erro.
essa mensagem é incompleta, não diz qual o motivo do erro.
Eu estou quase apostando que o erro deve ser violação de compartilhamento, mas a errorsys usada não mostra.

Error SDF/1004 Erro de criação: d:\sitema\arquivo.xml

Enviado: 08 Mai 2019 14:28
por juniorcamilo
JoséQuintas escreveu:Eu continuo insistindo na remoção da errorsys, pra ver direito a mensagem de erro.
essa mensagem é incompleta, não diz qual o motivo do erro.
Eu estou quase apostando que o erro deve ser violação de compartilhamento, mas a errorsys usada não mostra.
eu vou fazer isso e monitorar!! assim q der d novo eu posto aki!!

Error SDF/1004 Erro de criação: d:\sitema\arquivo.xml

Enviado: 08 Mai 2019 14:41
por JoséQuintas
Agora que dei atenção a outro ponto:

Código: Selecionar todos

Sele LINHAO
cArqaux := "d:\sstea\arquiv.xml"     
COPY TO &cArqaux. SDF
Isso é pra copiar um XML do arquivo, é isso?

Código: Selecionar todos

hb_MemoWrit( "d:\sistema\arquiv.xml", linhao->CampoXml )
Continua valendo o que já postei antes, referente descobrir o motivo do erro, mas poderia ser feito assim, se é um XML mesmo.

Error SDF/1004 Erro de criação: d:\sitema\arquivo.xml

Enviado: 09 Mai 2019 07:11
por juniorcamilo
então é o arquivo todo!! vários registros!! gravo no campo linhao!!
JoséQuintas escreveu:

Código: Selecionar todos

hb_MemoWrit( "d:\sistema\arquiv.xml", linhao->CampoXml )
Aqui esta copiado todos os registros do arquivo "linhao" do campo 'CampoXML' para o arquivo arquiv.xml!! correto?


onde eu acho sobre esses novos comandos Hb(quais sao?,o que faz? e etc)?
pois migrei a pouco tempo de clipper para xharbour!!

Error SDF/1004 Erro de criação: d:\sitema\arquivo.xml

Enviado: 09 Mai 2019 10:18
por JoséQuintas
juniorcamilo escreveu:onde eu acho sobre esses novos comandos Hb(quais sao?,o que faz? e etc)? pois migrei a pouco tempo de clipper para xharbour!!
juniorcamilo escreveu:então é o arquivo todo!! vários registros!! gravo no campo linhao!!
No geral, tudo que poderia usar no Clipper pode usar no Harbour, com a diferença de que no Harbour praticamente não tem limites.
hb_MemoWrit() é equivalente ao MemoWrit(). A diferença é que MemoWrit() é específico pra DOS, igual o Clipper, e grava um Chr(26) no final do arquivo, o que pro Windows é considerado um caractere a mais.

Como faria isso no Clipper?

Código: Selecionar todos

cTxt := ""
GOTO TOP
DO WHILE ! Eof()
   cTxt += linhao->CampoXml
   SKIP
ENDDO
hb_MemoWrit( "arquivo.xml", cTxt )
A única diferença do Clipper seria o hb_MemoWrit() ao invés de MemoWrit(), apenas pra não ficar igual no Clipper, que não é pra Windows.

Só lembrando também: o XML é uma única linha. Aquilo de várias linhas é só pra "humanos enxergarem", e o explorer mostra assim porque formata a visualização. Acho que o COPY SDF acaba colocando cada registro em uma linha.

Mas achei interessante o uso do COPY SDF, é um jeito diferente de gerar um arquivo.
Pra dar certo teria que remover todas as mudanças de linha: Chr(13) + Chr(10)