Clipper On Line • Ver Tópico - Error Leto/1021 Tipo incorreto de dado

Error Leto/1021 Tipo incorreto de dado

Discussão sobre Banco de Dados e RDDs para Clipper/[x]Harbour.

Moderador: Moderadores

 

Error Leto/1021 Tipo incorreto de dado

Mensagempor asimoes » 04 Dez 2015 09:22

Função: AbreDBF() 1021 Tipo incorreto de dado: //192.168.1.2:2818\APS01 : tentativas = 4

O erro acontece no NetUse

Novamente este erro na abertura de uma tabela usando o rdd leto

A trecho onde abre a tabela:
     CASE 'APS01'
              IF SELECT(cDataBase) == 0 .OR. !&cDataBase.->(Used())
                 lAbriu:=NetUse(cServer, cDataBase, lShared)
              ENDIF
              lContinua:=.F.
              EXIT

Estou relutante em continuar com o hbnetio ou voltar para a forma tradicional usando o rdd dbfcdx.

A função NetUse:

STATIC FUNCTION NetUse(cServer, cDatabase, lOpenMode, nSeconds, cRDD)
LOCAL lForever

   hb_Default(@lOpenMode, .F.)
   hb_Default(@nSeconds, 0)
   hb_Default(@cRDD, "LETO")
   hb_Default(@cServer, "")
   
   lForever := (nSeconds = 0)
   
   Do While (lForever .Or. nSeconds > 0)
      If lOpenMode
         DbUseArea(.T., cRDD, cServer + cDataBase, cDataBase, .T.)
      Else
         DbUseArea(.T., cRDD, cServer + cDataBase, cDataBase, .F.)
      EndIf
      If ! NetErr()                    // Use succeeds
         RETURN (.T.)
      EndIf
      SysWait(1)         // Wait 1 second
      nSeconds --
   EndDo
RETURN (.F.)
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4159
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 292 vezes
Mens.Curtidas: 208 vezes

Error Leto/1021 Tipo incorreto de dado

Mensagempor asimoes » 04 Dez 2015 09:30

Complentando:
O letodb.ini
[Main]
; server port number;
Port = 2818

; connection timeout;
; TimeOut = -1

; path to a data directory on a server;
DataPath = F:\Sistema ASAPREV\NETIO\SERVER5\DB

; path and name of a log file;
;Logpath = .\letodb.log

; default RDD to open files on server ( CDX/NTX );
Default_Driver = CDX

; memo type ( FPT/DBT ). Default: FPT for DBFCDX, DBT for DBFNTX;
; Memo_Type = FPT

; if 1, convert all paths to lower case;
Lower_Path = 0

; if 1, using of file functions ( leto_file(),
; leto_ferase(), leto_frename() is enabled;
EnableFileFunc = 1

; if 1, creating of data tables and indexes with
; any extention, other than standard ( dbf,cdx,ntx )
; is enabled;
EnableAnyExt = 0

; if 1, user authentication is necessary to
; login to the server;
Pass_for_Login = 1

; if 1, user authentication is necessary to
; use management functions ( Leto_mggetinfo(), etc. );
Pass_for_Manage = 1

; if 1, user authentication is necessary to
; have write access to the data;
Pass_for_Data = 1

; the path and name of users info file;
Pass_File = .\leto_usuarios.usu

; if 1, the data passes to the network encrypted;
Crypt_Traffic = 1

; if 0 (default, this mode server was the only from the
; start of a letodb project), the letodb opens all
; tables in an exclusive mode, what allows to increase
; the speed. If 1 (new mode, added since June 11, 2009),
; tables are opened in the same mode as client
; applications opens them, exclusive or shared, what
; allows the letodb to work in coexistence with other
; types of applications.
Share_Tables = 1

; The number of records to read into the cache
Cache_Records = 100

; Maximum number of shared variables
; Max_Vars_Number = 10000

; Maximim size of a text variable
; Max_Var_Size = 10000

; Global function letodb RDDI_TRIGGER
; Trigger = <cFuncName>

; Global function letodb RDDI_PENDINGTRIGGER
; PendingTrigger = <cFuncName>

; Number of tables
; Tables_Max  = 5000

; Number of users
; Users_Max = 500

; Debug level
; Debug = 0

; if 1, SET HARDCOMMIT OFF
; Optimize = 0

; SET AUTORDER setting
; AutOrder = 0

; _SET_FORCEOPT setting
; ForceOpt = 0

[DATABASE]
Datapath = F:\Sistema ASAPREV\NETIO\SERVER5\DB
driver = cdx
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4159
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 292 vezes
Mens.Curtidas: 208 vezes

Error Leto/1021 Tipo incorreto de dado

Mensagempor Toledo » 04 Dez 2015 10:42

asimoes escreveu:AbreDBF() 1021 Tipo incorreto de dado: //192.168.1.2:2818\APS01

Alexandre, observe que depois de :2818 tem uma \ (invertida), mas o correto é a / (barra normal).

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Avatar de usuário

Toledo
Administrador

Administrador
 
Mensagens: 3024
Data de registro: 22 Jul 2003 18:39
Cidade/Estado: Araçatuba - SP
Curtiu: 221 vezes
Mens.Curtidas: 225 vezes

Error Leto/1021 Tipo incorreto de dado

Mensagempor asimoes » 04 Dez 2015 11:56

Toledo,

Bem observado, será que é essa contra barra que tá gerando o erro?

Já fiz a alteração e vou acompanhar.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4159
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 292 vezes
Mens.Curtidas: 208 vezes

Error Leto/1021 Tipo incorreto de dado

Mensagempor asimoes » 04 Dez 2015 12:27

Obrigado Toledo,

Pesquisando aqui no fórum sobre o letodb, verifiquei que todos usam a "\" deve ser isso mesmo.

Já fiz a modificação no sistema, vou acompanhar.

Inclusive não sei se também no hbnetio é a mesma coisa, pois eu também informava a barra invertida "/" fiz um teste aqui com netio e funcionou.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4159
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 292 vezes
Mens.Curtidas: 208 vezes

Error Leto/1021 Tipo incorreto de dado

Mensagempor Toledo » 04 Dez 2015 16:56

asimoes escreveu:Verifiquei que todos usam a "\" deve ser isso mesmo.

asimoes escreveu:pois eu também informava a barra invertida "/" fiz um teste aqui com netio e funcionou.

Só para confirmar, o correto é "/", a mesma que usamos no início do endereço do servidor (IP) //192.168.1.2:2818/APS01

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Avatar de usuário

Toledo
Administrador

Administrador
 
Mensagens: 3024
Data de registro: 22 Jul 2003 18:39
Cidade/Estado: Araçatuba - SP
Curtiu: 221 vezes
Mens.Curtidas: 225 vezes

Error Leto/1021 Tipo incorreto de dado

Mensagempor Cavalo Marinho » 22 Set 2016 15:06

Boa tarde amigos, sei que o post já é antigo mas estou passando por este problema, então resolvi não abrir outro novo e postar neste mesmo, enfim?
Por motivo de força maior eu preciso utilizar estações linux e servidor linux, mas meus programas são compilados para windows harbour modo console, enfim fiz alguns testes com o WINE e rodou tudo perfeito exceto que as estações linux não respeitam bloqueios e nem arquivos abertos em modo exclusivo, então resolvi testar o LETODB instalei ele no servidor linux ubuntu, fiz ajustes no sistema e funcionou bem demais, mesmo rodando com estações linux ficou 100%, então no cliente que necessita das tais mudanças na estrutura de rede coloquei para rodar (por enquanto servidor linux e todas as estações WINDOWS XP, 7 e 10), aí começou meu carma, sem que nem pra que dar erros nos sistema que nunca tinha acontecido com DBF/CDX, a exemplo:
em uma consulta de produtos vez ou outra quando o usuário pressiona a tecla de navegação para saltar um registro o sistema dar um erro Erro LETO/1021, Valor atribuÍdo a variáel-campo  maior que a capacidade máxima
do campo de Arquivo, outro erro interessante lendo uma tabela de cliente onde tem um campo chamado CLSOBS simplesmente ele leu todos os campos exceto este que referes-e a um campo MEMO DBT.
Estou sem compreender os tais problemas, abaixo postarei uns traces dos erros somente para se ter uma ideia quais os comandos que estão gerando erros, lembrando que DBF/CDX funciona a mais de 20 anos sem nenhum problema.

Erro 1 -
Erro LETO/1021, Valor atribu!do a vari vel-campo  maior que a capacidade m xima
do campo de Arquivo
Chamada pela Rotina: DBSKIP Linha (0)
Chamada pela Rotina: CONSPRODVENDA Linha (1401)
Chamada pela Rotina: ACHAPRODVND Linha (1660)
Chamada pela Rotina: (b)P_VENDA Linha (1034)
Chamada pela Rotina: HBGETLIST:GETPOSTVALIDATE Linha (0)
Chamada pela Rotina: HBGETLIST:READER Linha (0)
Chamada pela Rotina: HBGETLIST:READMODAL Linha (0)
Chamada pela Rotina: READMODAL Linha (0)
Chamada pela Rotina: P_VENDA Linha (1057)
Chamada pela Rotina: VENDAS Linha (770)
Chamada pela Rotina: MAIN Linha (250)

Erro 2 - mesma rotina em outra parte do sistema
Erro LETO/1021, Valor atribu!do a vari vel-campo  maior que a capacidade m xima
do campo de Arquivo

Chamada pela Rotina: DBSKIP Linha (0)
Chamada pela Rotina: CONSPRODVENDA Linha (1364)
Chamada pela Rotina: ACHAPRODVND Linha (1660)
Chamada pela Rotina: (b)P_VENDA Linha (1034)
Chamada pela Rotina: HBGETLIST:GETPOSTVALIDATE Linha (0)
Chamada pela Rotina: HBGETLIST:READER Linha (0)
Chamada pela Rotina: HBGETLIST:READMODAL Linha (0)
Chamada pela Rotina: READMODAL Linha (0)
Chamada pela Rotina: P_VENDA Linha (1057)
Chamada pela Rotina: VENDAS Linha (770)

Erro 3
Erro LETO/1021, Valor atribu!do a vari vel-campo  maior que a capacidade m xima
do campo de Arquivo

Chamada pela Rotina: DBUNLOCKALL Linha (0)
Chamada pela Rotina: P_VENDA Linha (1157)
Chamada pela Rotina: VENDAS Linha (770)
Chamada pela Rotina: MAIN Linha (250)

Erro 4
Erro LETO/1021, Valor atribu!do a vari vel-campo  maior que a capacidade m xima
do campo de Arquivo

Chamada pela Rotina: DBSKIP Linha (0)
Chamada pela Rotina: IMPENTREGA Linha (2146)
Chamada pela Rotina: BAIXA_PEDI Linha (1056)
Chamada pela Rotina: PEDI_MARQ Linha (762)
Chamada pela Rotina: PEDI_MANUT Linha (678)
Chamada pela Rotina: M_PEDIDOS Linha (625)
Chamada pela Rotina: MAIN Linha (270)

Erro 5 - este campo refere-se a um campo MEMO
Erro BASE/1003, A Vari vel 'CLOBS' No foi definida no Sistema

Chamada pela Rotina: COP_FIELDS Linha (121)
Chamada pela Rotina: IMPRECDT Linha (1483)
Chamada pela Rotina: IMPPOSREC Linha (510)
Chamada pela Rotina: CT_REC_MREL Linha (410)
Chamada pela Rotina: CT_REC_MEN Linha (124)
Chamada pela Rotina: CONTAS_REC Linha (66)
Chamada pela Rotina: MSPRMENU Linha (204)

Nesta rotina COP_FIELDS eu faço um laço percorrendo todos os campos da tabela e estancio em variáveis de memoria, lembrando roda dbfcdx a mais de 20 anos, totalmente estável

me desculpe se o post foi longo, mas estou desesperado, se alguns dos colegas tiver uma luz por favor aponte.
Obrigado.
Avatar de usuário

Cavalo Marinho
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 140
Data de registro: 01 Ago 2009 10:01
Cidade/Estado: Aracaju/Se
Curtiu: 3 vezes
Mens.Curtidas: 3 vezes

Error Leto/1021 Tipo incorreto de dado

Mensagempor Itamar M. Lins Jr. » 22 Set 2016 20:01

Ola!
Está usando o letodb compilado no Linux ?
Não entendi a configuração.
Qual versão do Leto ?
Letodb com mensagem de erro em português ?

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 3676
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 125 vezes
Mens.Curtidas: 191 vezes

Error Leto/1021 Tipo incorreto de dado

Mensagempor JoséQuintas » 22 Set 2016 21:21

Mas um dos erros parece ser no SKIP.
Por acaso não criou um índice que não comporta o valor?
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 11592
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 12 vezes
Mens.Curtidas: 740 vezes

Error Leto/1021 Tipo incorreto de dado

Mensagempor Cavalo Marinho » 23 Set 2016 08:03

Bom dia
Obrigado ao Itamar e Jose Quintas, e a todos deste forum
Esclarecendo os pontos:
Sim, servidor LETODB compilado para Linux versão 2.17b2
Itamar M. Lins Jr. escreveu:Letodb com mensagem de erro em português ?

Tenho um arquivo errorsys.prg que captura os erros e mostra em português, capturo o código de erro gerado, e exibo a mensagem em português.
Itamar M. Lins Jr. escreveu:Não entendi a configuração.

a estrutura atual é a seguinte: Servidor linux ubuntu 16.04 e 25 estações windows(xp, 7 e 10), servidor compartilhado com samba, pasta compartilhada e estações acessando pelo compartilhamento, futuramente iremos trocar (se tudo der certo) por estações rodando linux e o sistema com WINE sobre o linux.
JoséQuintas escreveu:Mas um dos erros parece ser no SKIP.
Por acaso não criou um índice que não comporta o valor?

Sim Quintas, a maioria dos erros é no skip, e não tem índices com valores, como já falei no post anterior o sistema roda a mais de 20 anos e é claro sempre vem sendo atualizado, mas roda estável com DBF/CDX, mas como sabemos quando se dar um skip em um arquivo ele atualiza os dados na tabela, pode ser isso? outro erro é de não encontrar um campo que refere-se ao Memo, o engraçado é que é aleatório, os sistema dar o erro, depois executo os mesmos passos e funciona tudo certinho, daqui a pouco dar o erro em outra parte do sistema, eu vou ficar louco. rsrs :%
Estive pensando com meus botões: Minhas tabelas foram estruturadas no velho e bom FoxPro /LAN 2.0, será que isso tem a ver? algo com os tipos de dados suportados pelo LETO? Outra coisa, estou utilizando as libs RDDLETO.A do leto 2.14 pois não consegui as libs para mingw da versão 2.17b2 e não conseguir compilar ainda. gostaria de uma opinião sobre estas questões. :{
Avatar de usuário

Cavalo Marinho
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 140
Data de registro: 01 Ago 2009 10:01
Cidade/Estado: Aracaju/Se
Curtiu: 3 vezes
Mens.Curtidas: 3 vezes

Error Leto/1021 Tipo incorreto de dado

Mensagempor JoséQuintas » 23 Set 2016 08:18

Não sei a quantidade de alteração pra usar Lettodb, mas porque não tenta hbnetio de uma vez?
hbnetio vém com o Harbour, faz parte dele.

Se tem uma rotina genérica de abrir arquivos será fácil trocar.
De dbf pra hbnetio seria isto:

USE ARQUIVO
SET INDEX TO ARQUIVO

USE NET:ARQUIVO
SET INDEX TO NET:ARQUIVO


E no início do aplicativo conectar, e no final desconectar.

Se tem rotina genérica:

FUNCTION Abre( nomearquivo )
   USE ( "NET:" + nomearquvo )


No Harbour vém até o programa pra rodar no servidor, pronto pra uso, que pode ser instalado como serviço no servidor.
.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 11592
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 12 vezes
Mens.Curtidas: 740 vezes

Error Leto/1021 Tipo incorreto de dado

Mensagempor JoséQuintas » 23 Set 2016 08:23

outro erro interessante lendo uma tabela de cliente onde tem um campo chamado CLSOBS simplesmente ele leu todos os campos exceto este que referes-e a um campo MEMO DBT


Minhas tabelas foram estruturadas no velho e bom FoxPro /LAN 2.0


Isso não bate. FOXPRO é FPT
CDX no Clipper também já associava FPT
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 11592
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 12 vezes
Mens.Curtidas: 740 vezes

Error Leto/1021 Tipo incorreto de dado

Mensagempor JoséQuintas » 23 Set 2016 08:50

Uma observação importante:
Já na época do Clipper, abandonei campos memo, porque tive erro só por existir campo memo no arquivo.
A última vez que tive problema parecido, foi com Harbour, em um aplicativo de terceiros que usava campo memo.

Eu não uso campo memo há mais de 10 anos, e não tenho nenhum problema com DBFs.

Já nos tempos do Clipper/memo:

use pedidos
index on numero to índice
seek 1

internal error 4421


Não lembro se o código de erro era esse, porque fazem mais de 10 anos.
Mas lembro muito bem que o erro foi numa rotina simples como essa.
O conteúdo do campo memo nem era usado pra indexar o arquivo.
Foi só alterar o campo pra caractere, e nunca mais tive problema.

Pra dar uma idéia, foi no tempo do Windows 98/2000, início do XP.
Não uso campo memo de jeito nenhum, desde aquela época.
Se tiver que usar, uso um campo caractere de 250 posições, ou um DBF separado com vários registros caractere.

erro com campo memo é igual ao erro de cálculo de ponto flutuante: tem gente que nunca viu, não sabe que existe, e nunca teve problema.
mas quem já teve problema, passou a usar outras alternativas.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 11592
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 12 vezes
Mens.Curtidas: 740 vezes

Error Leto/1021 Tipo incorreto de dado

Mensagempor Itamar M. Lins Jr. » 23 Set 2016 11:19

Ola!
servidor compartilhado com samba, pasta compartilhada e estações acessando pelo compartilhamento, futuramente iremos trocar (se tudo der certo) por estações rodando linux e o sistema com WINE sobre o linux.

Você precisa usar o LetoDb criado no LINUX rodando com DAEMON, sem WINE, nem SAMBA. Esse é o problema ai.
Esta perdendo todo o poder do Linux, usando SAMBA e Wine.
Na hora de criar o aplicativo HARBOUR no Windows, ai vc só linka a lib do Leto.
E ainda pode usar seu aplicativo 100% no Linux e nas estações XP/7/... usar PUTY ou SSH.

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 3676
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 125 vezes
Mens.Curtidas: 191 vezes

Error Leto/1021 Tipo incorreto de dado

Mensagempor Cavalo Marinho » 23 Set 2016 19:47

Boa noite
JoséQuintas escreveu:Se tem uma rotina genérica de abrir arquivos será fácil trocar.
De dbf pra hbnetio seria isto:

Sim tenho rotinas genéricas de abrir e as tabelas, mas preciso saber mais sobre o HBNETIO, como funciona, como gerencia as tabelas no servidor, tem transação?
outro detalhe eu preciso de um hbnetio compilado para linux, ja que meu servidor é linux.Se voce tiver e puder passar o caminho das pedras eu fico imensamente grato.

Itamar M. Lins Jr. escreveu:Você precisa usar o LetoDb criado no LINUX rodando com DAEMON, sem WINE, nem SAMBA. Esse é o problema ai.

É isso mesmo, o servidor letodb foi compilado para linux, roda no servidor, o WINE é para rodar meus aplicativos que são compilado para windows.

Obrigado pelas respostas.
Avatar de usuário

Cavalo Marinho
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 140
Data de registro: 01 Ago 2009 10:01
Cidade/Estado: Aracaju/Se
Curtiu: 3 vezes
Mens.Curtidas: 3 vezes

Próximo



Retornar para Banco de Dados

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 1 visitante


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro