Página 2 de 3
LetoDBf rodando no Linux, conecta, acha, mas não abre o DBF.
Enviado: 18 Jul 2023 10:31
por Linguagemclipper
Eita, esse pequeno teste faltou mesmo definir o DBFCDX.
Enfim, hoje apaguei os DBFs da pasta databases para ver se o sistema instala eles do zero, e deu certo. Deu um erro de lock required pra lá, mas chegou a criar UNIDADE.DBF e abrir (mostrou no manage.exe). Portanto, creio que os arquivos DBFs cheio de dados criados no Windows não conseguem ser lidos quando copiados para o Linux...
Ninguém nunca passou por isso? Copiar DBFs do Windows para o Linux e não conseguir abrir eles lá?
LetoDBf rodando no Linux, conecta, acha, mas não abre o DBF.
Enviado: 18 Jul 2023 11:25
por Itamar M. Lins Jr.
Ola!
Portanto, creio que os arquivos DBFs cheio de dados criados no Windows não conseguem ser lidos quando copiados para o Linux...
Faço isso o tempo todo... Tem nada a ver. E os DOCs e PDFs FOTOS etc... ?
Saudações,
Itamar M. Lins Jr.
LetoDBf rodando no Linux, conecta, acha, mas não abre o DBF.
Enviado: 18 Jul 2023 11:52
por Linguagemclipper
Poxa, então qual pasta tenho que copiar esses DBFs? Como tenho que fazer essa cópia?
Eu compartilhei a pasta windows no VirtualBox onde estão os DBFs, criei uma pasta no raíz /databases, entrei na pasta compartilhada e dei um cp * /databases. Por que o computador diz que o arquivo está corrompido?
LetoDBf rodando no Linux, conecta, acha, mas não abre o DBF.
Enviado: 18 Jul 2023 13:22
por Itamar M. Lins Jr.
Olá!
Qual é o servidor de grande porte que usa windows ?
A maioria usa LINUX, se fosse da forma que vc acredita que é, TODOS os arquivos armazenados nos servidores LINUX estariam corrompidos.
A única coisa que tem é CARRIAGE RETURN + LINE FEED (isso no windows) nos arquivos texto puro, isso quando editados no Linux e no WIndows mas isso os mais modernos editores já resolvem, nem precisa do comando do Linux "dos2linux" para fazer o serviço.
O mesmo problema que tem em um texto com editor UTF8 e vc abre o mesmo texto usando, ANSI ou outro qualquer Windows...não sei das quantas...
Saudações,
Itamar M. Lins Jr.
LetoDBf rodando no Linux, conecta, acha, mas não abre o DBF.
Enviado: 18 Jul 2023 13:30
por JoséQuintas
Princípio básico:
Já que um funciona e outro não, pode estar perto da solução
Verifique as permissões, e compare o dbf copiado com o que foi criado pelo letodb
É só usar o equivalente ao DIR do linux:
ls -la
Comece por aí
LetoDBf rodando no Linux, conecta, acha, mas não abre o DBF.
Enviado: 18 Jul 2023 15:17
por Linguagemclipper
Itamar M. Lins Jr. escreveu:Olá!
Qual é o servidor de grande porte que usa windows ?
A maioria usa LINUX, se fosse da forma que vc acredita que é, TODOS os arquivos armazenados nos servidores LINUX estariam corrompidos.
A única coisa que tem é CARRIAGE RETURN + LINE FEED (isso no windows) nos arquivos texto puro, isso quando editados no Linux e no WIndows mas isso os mais modernos editores já resolvem, nem precisa do comando do Linux "dos2linux" para fazer o serviço.
O mesmo problema que tem em um texto com editor UTF8 e vc abre o mesmo texto usando, ANSI ou outro qualquer Windows...não sei das quantas...
Saudações,
Itamar M. Lins Jr.
Estava lendo sobre isso, mas é bem verdade que só editando ele que daria problema...
Erro 1012 é de arquivo corrompido, né? Por que desse erro é que eu não sei.
Aqui usavam Windows, mas perderam a licença, é mole? Daí botaram um servidor Linux em uma máquina virtual para ficar com o backup da imagem... o que vocês acham disso?
Itamar, a pasta dos DBFs pode ser no raíz? Tipo /databases ou tenho que criar uma pasta /usr/shared/databases ? Estava lendo sobre essa pasta /usr/shared... Tem algo a ver?
LetoDBf rodando no Linux, conecta, acha, mas não abre o DBF.
Enviado: 18 Jul 2023 15:42
por Itamar M. Lins Jr.
Olá!
Itamar, a pasta dos DBFs pode ser no raíz? Tipo /databases ou tenho que criar uma pasta /usr/shared/databases ? Estava lendo sobre essa pasta /usr/shared... Tem algo a ver?
Tem nada a ver, pode ficar em qualquer lugar, o problema é que vc fica ai mexendo...
Testou os arquivos criando no LINUX ?
dbcreat...
Cria ai uns dois copia para o windows, edit, altera lá no windows, joga para o Linux de volta sem LetoDB.
Se no básico está engasgando imagina o resto.
Não use NADA set page, cdx, etc... Só o DBF puro e vai vendo ai...
Saudações,
Itamar M. Lins Jr.
LetoDBf rodando no Linux, conecta, acha, mas não abre o DBF.
Enviado: 19 Jul 2023 13:57
por JoséQuintas
Linguagemclipper escreveu:Não estou entendendo porque o Windows conectou na porta 53055, não teria que ser a mesma porta 2812? O pior é que toda vez é uma porta aleatória entre 40000 e 69999.
Voltando a esta sua pergunta:
Toda conexão tem origem e destino.
Consulte no Windows, netstat -a | find "2812"
Provavelmente vai ver o inverso do linux, portas com destino a 2812
Veja do MySQL 3306
E NÃO PRECISA LIBERAR NO FIREWALL DO WINDOWS A PORTA 3306, porque firewall é pra ENTRADA e não pra saída.
A não ser no servidor aonde está o MySQL.
E letodb vai ser a mesma coisa, liberar porta do letodb aonde está o servidor Letodb, não no windows que está apenas fazendo acesso, senão está pondo em risco o windows.
LetoDBf rodando no Linux, conecta, acha, mas não abre o DBF.
Enviado: 27 Jul 2023 12:54
por Linguagemclipper
Entendí, Quintas.
Comecei outra instalação do Debian 12 64bits desta vez e conseguí abrir os DBFs normalmente, o sistema abriu.
Não precisou abrir porta no Linux.
LetoDBf rodando no Linux, conecta, acha, mas não abre o DBF.
Enviado: 27 Jul 2023 13:55
por Linguagemclipper
Quero agradecer a todos que tentaram me ajudar nessa saga aí.
Felizmente conseguí, tudo certo!
Vou deixar aqui detalhadamente para quem não está acostumado com o Linux o meu tutorial completo mastigadíssimo para ajudar quem estiver precisando de uma mãozinha:
https://linguagemclipper.com.br/blogs/t ... f-no-linux
LetoDBf rodando no Linux, conecta, acha, mas não abre o DBF.
Enviado: 30 Mai 2024 15:43
por deividdjs
Tarde Prezados !!
Uma duvida .. como faço para apagar arquivos no servidor linux com o letodbf ??
tentei desta forma e não surgiu efeitos .. a pasta tem permissão 666.. no servidor windows funciona normalmente ...
Leto_FErase("tm*.*")
Leto_FErase("*.cdx")
Leto_FErase("erro*.*")
Saludos,
Deivid Souza
LetoDBf rodando no Linux, conecta, acha, mas não abre o DBF.
Enviado: 30 Mai 2024 16:14
por JoséQuintas
Olhou se tem mesmo.
As permissões do linux confundem.
QUALQUER USUÁRIO que criar arquivo pode criar protegido.
E isso não tem nada a ver com permissões na pasta.
Mas pode conferir no arquivo ls -la
o fErase() do harbour é pra arquivo único, confirmou se leto aceita máscara nessa função?
LetoDBf rodando no Linux, conecta, acha, mas não abre o DBF.
Enviado: 30 Mai 2024 16:26
por JoséQuintas
Apenas pra dar uma idéia.... mas é flagship...
Código: Selecionar todos
#ifdef FlagShip
IF File( cFile )
aFiles := Directory( cFile )
cAttrib := aFiles[ 1, F_ATTR ]
IF Transform( cAttrib, "-xx-xx-xx-" ) != "-rw-rw-rw-"
MsgExclamation( "Atencao! Permissoes " + cAttrib + " do arquivo " + cFile + " nao permitem gravacao e podem causar erro" )
ENDIF
ENDIF
dbCreate( cFile, oStru, , FCREATE_RW )
#else
dbCreate( cFile, oStru )
#endif
LetoDBf rodando no Linux, conecta, acha, mas não abre o DBF.
Enviado: 30 Mai 2024 17:23
por Itamar M. Lins Jr.
Olá!
ferase() aceita coringa ?
No Linux aceita arquivo "*" no nome.
Use:
Código: Selecionar todos
AEval( Leto_Directory( "*.cdx" ), {| file | leto_FErase( file[ F_NAME ] ) } )
Atenção pq vc sabe que o LetoDb vê apartir de uma pasta e todas que estão dentro.
Atenção para colocar a subpastas
Código: Selecionar todos
AEval( Leto_Directory( "/subpasta/*.cdx" ), {| file | leto_FErase( file[ F_NAME ] ) } )
Saudações,
Itamar M. Lins Jr.
LetoDBf rodando no Linux, conecta, acha, mas não abre o DBF.
Enviado: 30 Mai 2024 17:53
por deividdjs
não funcionou !!
leto_FErase deve aceitar coringa porque no windows ele apagou os arquivos perfeitamente ...
AEval( Leto_Directory( "/controle_/*.cdx" ), {| file | leto_FErase( file[ F_NAME ] ) } )
e dessa forma no linux .. nem sinal de apagar os arquivos ...