Página 1 de 1

Unidade Invalida no caminho de localizacao

Enviado: 28 Out 2009 18:39
por Marcio Zoccal
Srs.,

Tô tentando fazer um programinha pra fazer backup EM CLIPPER pela rede, porém o sistema me retorna a segte mensagem:
"UNIDADE INVALIDA NO CAMINHO DE LOCALIZACAO"
e depois a mensagem:
"COMANDO OU NOME DE ARQUIVO INVALIDO"

Segue abaixo o que tô montando...

Código: Selecionar todos

****************************************************************
do while (.T.)
   Nome := "BK"
   Dia := Substr(DToC(Date()),01,02)
   Mes := Substr(DToC(Date()),04,02)
   Geral := Nome + Dia + Mes
   Dir_Red := "\\marcio\c\backup\arquivos\" + geral

   DirMake(Dir_Red)

   @ 5, 10 say "Hora Atual...:" + Time()
   @ 6, 10 say "Hora Esperada:" + hora
   InKey(0.1)
   if (Time() >= hora)
      tempo:= Time()
      for ind:= 1 to 8
         if (vet[ind][1] != Nil)
            @ 10, 0 clear to 24, 79
            @ 10, 25 say "Opcao = " + Str(ind, 3)
            @ 11, 25 say "Arquivo = " + vet[ind][1]
            @ 12, 25 say "Alias = " + vet[ind][1]
            select 0
            use (vet[ind][1]) alias (vet[ind][1]) exclusive
            if (!neterr())
               @ 12, 50 say "Registros =" + Str(LastRec(), 6)
               if (vet[ind][1] != Nil)
                  arq := vet[ind][1] + ".DBF"
                  Run ("Copy " + arq + " " + Dir_Red + "> lixo1")
               endif
            else
               alert("Arquivo " + vet[ind][1] + " N„o esta Disponivel para Indexa‡„o ")
            endif
          endif
       next
       @ 24,00 Say Padc("BACKUP EFETUADO COM SUCESSO !!!",80)
       Inkey(03)
       close databases
       exit
    endif
enddo
****************************************************************
alguém aki poderia me dar um "help" ???
No aguardo e agradeço desde já a atenção dispensada...

Márcio Zoccal
Barra do Garças-Mt


---
Nota da Moderação (Maligno):
A presente mensagem teve de ser editada para a inserção das tags de indentação de código, a fim de torná-lo mais legível. Por natureza, ler código alheio já é uma tarefa ingrata. Sem essa indentação pior fica. Por favor, no futuro use essas tags.

Unidade Invalida no caminho de localizacao

Enviado: 28 Out 2009 20:35
por Pablo César
Marcio, olhando assim por cima, achei que o caminho que você citou como exemplo: "\\marcio\c\backup\arquivos\"+geral não deve estar correto. Na minha opinião deveria ser: "\\marcio\backup\arquivos\"+geral (tente remover o "c") pra ver se aceita. E outro conselho que tenho a lhe dar é utilize oas funções internas do Clipper para COPIAR usando a função COPY FILE(<origem>) TO (<destino>) assim você não precisaria usar o COPY do SO. Poderia ainda acrescentar a função FILESIZE() da CT.LIB para ver se gravou com a mesma quantidade de bytes gravados a fim de checar se gravou por completo.

Como você não postou o código completo, aconselho você mesmo executar seu aplicativo através do CLD e fazer breakpoints para ver o conteúdo das variáveis onde poderiam estar causando o erro.

Re: Unidade Invalida no caminho de localizacao

Enviado: 28 Out 2009 22:49
por gvc
Eu estou achando estranho vc usar o endereço da máquina.
Eu nunca usei assim. Não sei se funciona.
Como o clipper foi projetado para usar os serviço do DOS, fica a minha dúvida.
Tente mapear o drive da rede e executar o comando.

Re: Unidade Invalida no caminho de localizacao

Enviado: 28 Out 2009 23:38
por PAULO S
Também concordo, acho que a solução deve ser mapear o drive.
Experimente fazer desta forma, comigo sempre dá certo utilizando o mapeamento.

Unidade Invalida no caminho de localizacao

Enviado: 29 Out 2009 09:36
por Pablo César
É... realmente não funciona no Clipper. Fiz testes e não é assim que faz. Primeiramente deve estar acessível a unidade ja mapeada. Exemplo:

NETREDIR("W:","\\MARCIO\C")
COPY FILE("CLIENTES.DBF") TO ("W:\BACKUP\ARQUIVOS\"+GERAL+"\CLIENTES.DBF")

Desta forma não tem como não dar certo ! Percebam que após a variável geral tem que ter a barra invertida e logo o nome do arquivo. Senão não funciona.