Clipper On Line • Ver Tópico - LETO ERROR 1001: ERROR OPENING TABLE.DBF - LetoDBf no Linux
LETO ERROR 1001: ERROR OPENING TABLE.DBF - LetoDBf no Linux
por Cisino Junior » 16 Out 2017 14:31
Estou testando o LetoDb(fork). Já fiz as alterações necessárias no sistema pra poder utilizar, testei com o servidor compilado para windows e funcionou legal, abre as tabelas, fecha, lista os dados, etc... Mas no Ubuntu 16.04 não funciona! Alguns de nossos clientes utilizam servidores linux, eu compilei para linux, configurei o letodb.ini e o sistema conecta ao servidor, mas ao tentar abrir uma tabela acontece erro de abertura. Então, criei um modulo de teste que verifica a existência da tabela e caso a mesma não exista, ele cria. Nesse programa exemplo eu utilizei as mesma rotinas usadas pelo nosso sistema comercial para tratar as tabelas, e funcionou legal.
É possível que o letodb não esteja conseguindo abrir as tabelas pois as mesmas foram criadas no Windows, ou algo do tipo que esteja causando esse erro?
O erro acontece na função abaixo:
FUNCTION NET_USE()
PARAMETERS file, ex_use, wait
PRIVATE forever
forever = (wait = 0)
DO WHILE (forever .OR. wait > 0)
IF ex_use                    && exclusive
USE (file) EXCLUSIVE ALIAS &ARQALIAS // erro ao abrir tabela
//DbUseArea(.T., "LETO", file, ARQALIAS, .F., .F., 'PTISO')
USE (file) ALIAS &ARQALIAS  && shared // erro ao abrir tabela
//DbUseArea(.T., "LETO", file, ARQALIAS, .T., .F., 'PTISO')
IF ! NETERR()           && USE succeeds
INKEY(1)                        && wait 1 second
wait = wait - 1
Agradeço desde já qualquer ajuda. Obrigado!
Cisino Junior.
HMG 3.4.3 + DBF, Java, MySQL, PostgreSQL, PHP, JavaScript + HTML5 + CSS3, Bootstrap, Spring, Thymeleaf.
Cisino Junior
Data de registro: 14 Abr 2016 13:12
E-mail Cisino Junior
por sygecom » 21 Out 2017 15:17
No linux inverte as barra do caminho do dbf
Mens.Curtidas: 81 vezes
por Cisino Junior » 03 Nov 2017 12:17
sygecom escreveu: No linux inverte as barra do caminho do dbf
Fiz isso e não adiantou, continua acontecendo o mesmo erro.. Será que é algo relacionado a charset?
por Cisino Junior » 03 Nov 2017 15:50
Eu consegui abrir a tabela citada a cima, abrindo-a pelo libreoffice e mudando o charset para utf-8, agora o sistema consegue abri-la. Mas ao tentar abrir outra tabela, acontece o mesmo error de abertura...
// Log do letodb rodando no ubuntu 16.04
11.03 16:40:02.679       Error DBFCDX/1001  Open error: /home/user/LetoDBf/DADOS/LOGSIGA.dbf (DOS Error 2)
Sendo que na maquina com windows ele retorna em tempo de execução o seguinte error -> ERROR LETO/1021 Error de Sintaxe
Alguém sabe dizer o motivo desses errors?
por janio » 06 Nov 2017 14:00
Nao uso mais Leto, mas quando usava fazia assim e funcionava:
PathServ := "//" + Servidor + ":" + Porta + "/"
Local aTenta
por Cisino Junior » 06 Nov 2017 14:15
Olá janio, obrigado pela sua resposta. O que está difícil para entender aqui é que com o banco de dados e servidor no windows, funciona perfeitamente(mesmo tendo alguns detalhes para mudar ainda), as tabelas abrem normal, consigo fazer consultas, etc... Agora, o problema relatado está ocorrendo no Ubuntu. Eu fiz uma cópia do banco de dados e compilei o leto no ubuntu. Até aqui tudo bem.
Eu executo o letodb no Ubuntu, roda normal... De um pc windows na mesma rede, eu executo um dos módulos do sistema, ele conecta ao letodb que está rodando no Ubuntu, mas quando o programa solicita ao letodb a abertura de uma tabela, o erro de abertura ocorre. Eu estou achando que é por conta do charset das tabelas, ou talvez por terem sido criadas no windows e copiadas para o linux, mas isso não acho que isso faça muito sentido.
Ou faz???
De qualquer jeito, obrigado novamente. Vou testar seu código!
por Itamar M. Lins Jr. » 08 Nov 2017 18:38
Vc está abrindo uma tabela, mas não sabe como esta a tabela. "STATUS do DBF"
Verifique como esta a tabela. Se já está aberta, etc...
Vc não usa a flag NEW no comando USE.
No Windows erros de abertura e fechamento de arquivo passa mas no Linux esses absurdos não passam.
Se quer mandar esse problema para o Elch, faça um programa que demonstre o problema o Elch usa Linux.
Muita gente no forum esta com problemas, porque não sabe como conversar com o desenvolvedor da ferramenta ai ficam dependendo de alguém para fazer essa ponte, eu não sei ler nem escrever em Inglês na maioria das vezes uso o google como tradutor, mas tento...
Por isso o Harbour aqui no Brasil está cheio de atravessadores, que largam o desenvolvedor a ver navios, com pseudo soluções.
O Pritpal Bedi tem soluções para Android, etc... mas não tem ninguém lá questionando ele sobre os insucessos e desventuras de usar a Qtcontribs, HBIDE etc...
Mas ele usa Android, Windows, OS... comercialmente com harbour, QT e as ferramentas que ele faz e disponibiliza para comunidade, mas ai o brasileiro já gosta de um LIDER, e sempre vai criando mais, e mais, para depois ficar na mão.
Open SOURCE não tem isso, é COLABORAÇÃO o tempo todo, não ficam formando PANELINHA, disso e daquilo para depois com o tempo tudo está esquecido.
Harbour(xBase) é igual a qualquer linguagem velha, mas está ai para fazer muita coisa, Pascal a mesma coisa. Basic, etc.. As principais já tem sua versão Open Source.
por Miro » 29 Mai 2018 00:57
Olá Cisino, vc já encontrou alcuna resposta? Tenho o mesmo problema, error leto 1001 DOS error 2, file not found quando abro a tabela con uma funcao idéntica a la primeira que vc postou.
Obrigadíssimo pela ajuda, compartimos doencas Linux/LetoDbf
Miro Della Bitta
Harbour 3.2 / LetoDbf / Minigui Ex
Data de registro: 29 Mai 2018 00:50
Cidade/Estado: Buenos Aires
por Jairo Maia » 30 Mai 2018 10:23
Não uso Linux, mas porque você está usando:
USE (file) EXCLUSIVE ALIAS &ARQALIAS
DbUseArea(.T., "LETO", file, ARQALIAS, .F.) // abre em modo exclusivo. Se .T. no 5o parametro abre compartilhado
Mens.Curtidas: 269 vezes
por Itamar M. Lins Jr. » 05 Jun 2018 17:16
Sorry for the delay, i was moving the whole thing to linux ( and learning a new OS), recompiling harbour and letodbf on debian 8 and trying to run it on a linux cloud server. It runs as a daemon, but throwing letodbf error 1001 (file not found, dos error 2) when trying to access any dbf. Such dbfs were build on a windows pc and were granted with r/w/x permissions.
Sorry again for the thread disruption, but some times are overwhelming.
Resumindo, o LINUX não aceita as letras dos arquivos de qualquer forma. Deve estar tudo minúsculo ou tudo maiúsculo.
No fonte if file("MEU.DBF") não acha o arquivo "meu.dbf".
Yes it´s mandatory, and indexes extensions are lowercase (.cdx)
It´s working now, finally.
Thank´s everyone, specially to Rolf
por Itamar M. Lins Jr. » 05 Jun 2018 17:40
Uma coisa que já foi dita n vezes... Linux é "case sensitive". "X.dbf" é um arquivo e "x.DBF" é outro arquivo... Maiúsculas e minúsculas importam.