Página 1 de 1

erro DBFCDX/1001

Enviado: 27 Dez 2011 09:32
por JUDIVAN CONTABIL
Bom dia,

Estou migrando um sistema de contabilidade fiscal e contabil feito em cliiper para fivewin, mas estou precisando de ajuda. Pois ao abrir o sistema aparecesse o seguinte erro: [DOS erro 3] DBFCDX/1001 open error: C:\SISTEMA\EMPRESA.DBF. O erro acontece no arquivo abaixo:

Código: Selecionar todos

Procedure AARQ
   Parameters prog, ab
   If (Empty(ab))
      ab:= .F.
   EndIf
   if (prog = 1)
      If (use_rede((M->CAMINHO+"\EMPRESA.DBF"), "EMPRESA", ab, 15))
         Set index to (M->CAMINHO+"\EMPRESA1.CDX"),(M->CAMINHO+"\EMPRESA2.CDX")
      
      EndIf

erro DBFCDX/1001

Enviado: 27 Dez 2011 10:48
por alxsts
Olá!

DOS Error 3 (Path not found) significa que a pasta onde você está procurando o arquivo não existe. Verifique o conteúdo da variável CAMINHO.

erro DBFCDX/1001

Enviado: 27 Dez 2011 11:20
por JUDIVAN CONTABIL
CAMINHO, está em configuração da seguinte forma:

CAMINHO = C:\SISTEMA, onde C:\SISTEMA é a pasta onde etá EMPRESA.DBF que diz que nao existe.

erro DBFCDX/1001

Enviado: 27 Dez 2011 11:31
por alxsts
Olá!

Você confirmou isso através do debugger? Às vezes está com espaços a mais ou a variável está vazia... O problema é esta variável.

erro DBFCDX/1001

Enviado: 27 Dez 2011 12:15
por JUDIVAN CONTABIL
O erro acontece na rede na lina: Use (Arg1) Alias (Arg2) Exclusive

Código: Selecionar todos

**************************************************
Function use_rede(Arg1, Arg2, Arg3, Arg4)
   Local Local1
   Local1:= Arg4 == 0
   Do While (Local1 .OR. Arg4 > 0)
      Select 0
      If (Arg3)
         Use (Arg1) Alias (Arg2) Exclusive

      Else
         Use (Arg1) Alias (Arg2) Shared

      EndIf
      If (!neterr())
         Mensagem("","OFF")
         Return .T.
      EndIf
      Mensagem("Conectando "+chr(07),"ON")
      InKey(0.5)
      Mensagem("Conectando "+chr(09),"ON")
      If lastkey()=27
         Mensagem("","OFF")
         Return .F.
      Endif
      Arg4:= Arg4 - 0.5
   EndDo
 Mensagem("","OFF")
 Return .F.
********************************************************

erro DBFCDX/1001

Enviado: 27 Dez 2011 14:31
por alxsts
Olá!

Então, o parâmetro Arg1 recebe o conteúdo passado (M->CAMINHO+"\EMPRESA.DBF").

Verifique o que tem em Arg1 através do debugger. Arg1 pode estar vazio ou a pasta informada não existe.

A mensagem de erro refere-se ao driver DBFCDX. Você carregou o RDD?

Código: Selecionar todos

REQUEST DBFCDX
...
e depois
...
RddSetDefault( "DBFCDX" )
Verifique também se você tem permissão de escrita na pasta onde está o arquivo.

erro DBFCDX/1001

Enviado: 28 Dez 2011 10:22
por anacatacombs
Verifique o excesso de espaços no final do campo do banco de dados. Retire com ALLTRIM.

erro DBFCDX/1001

Enviado: 28 Dez 2011 16:23
por JUDIVAN CONTABIL
Obrigado, pelas dicas e ajudas, usei o ALLTRIM para eliminar o espaço e funcionou.

erro DBFCDX/1001

Enviado: 28 Dez 2011 16:25
por alxsts
Olá!
alxsts escreveu: Às vezes está com espaços a mais ou a variável está vazia... O problema é esta variável.

erro DBFCDX/1001

Enviado: 29 Dez 2011 20:05
por rochinha
Amiguinho,

Quando voce disse, "...o erro acontece na rede...", significa que se o arquivo residir em C:\SISTEMA este valor só será visivel no servidor.

Para que a variável contenha o valor correto voce deve verificar o conteúdo pois se o sistema estiver sendo acessado em outra maquina, com certeza o direcionamento se dará por outra letra que não C:.

Em outras máquinas a pasta C:\SISTEMA poderá estar compartilhada como Z:\SISTEMA, F:\SISTEMA ou somente uma letra, etc.

Verifique no atalho ou arquivo de lote se ele tem alguma linha assim:

Código: Selecionar todos

SET CAMINHO=C:\SISTEMA
Se sim, nas máquinas que acessam o servidor, verifique qual a letra de compartilhamento e SETe a variável corretamente, assim:

Código: Selecionar todos

SET CAMINHO=Z:\SISTEMA
Verifique.