Página 1 de 1
Error LETO/1201 Workarea nao indexada
Enviado: 23 Nov 2015 10:32
por asimoes
Alguém pode dar uma luz para esse problema:
Error LETO/1201 Workarea nao indexada
O problema acontece no dbseek
A abertura da tabela está assim:
Código: Selecionar todos
SWITCH Upper(cDataBase)
CASE 'ADMSAUDE'
IF SELECT(cDataBase) == 0 .OR. !&cDataBase.->(Used())
lAbriu:=NetUse(cServer,cDataBase,lShared)
SET INDEX TO ("ADMSAUDE.CDX")
ENDIF
EXIT
As estações são windows 7/32 professional
Error LETO/1201 Workarea nao indexada
Enviado: 23 Nov 2015 12:24
por Mario Mesquita
Boa tarde.
Tem certeza que o CDX abriu mesmo? Tem umas condições, será que retornaram .T. ?
Sds,
Mario.
Error LETO/1201 Workarea nao indexada
Enviado: 23 Nov 2015 12:30
por asimoes
Mário,
A abertura do dbf é feito no inicio da rotina, se fosse um problema na tabela o sistema já entraria em erro, o indice é aberto logo após a abertura da tabela,
O ordsetfocus é trocado conforme a necessidade da pesquisa, não sei se isso é um problema de rede, no servidor ou qualquer outro motivo não conhecido, eu não achei nada no google que indica-se uma solução.
Error LETO/1201 Workarea nao indexada
Enviado: 23 Nov 2015 14:05
por Mario Mesquita
Asiomes,
Que abacaxi! Tenho observado os colegas que usam o Leto. Andei interessado em usar o motor nas minhas tabelas .DBF, coisa básica, intranet mesmo.
Para usar em redes pequenas, de menos de dez terminais. Parece muito interessante, mas quando vejo vocês que são feras tendo esses pequenos problemas, fico meio assustado...
Nesse erro, parece que ele não reconhece o arquivo índice. Está setado para CDX? Desculpe as perguntas bobas, mas essas coisas às vezes é que te dão canseira.
Abraço,
Mario.
Error LETO/1201 Workarea nao indexada
Enviado: 23 Nov 2015 14:32
por asimoes
Mário,
O indice é cdx, inclusive eu até uso SET AUTOPEN ON só para garantir a abertura automática
Error LETO/1201 Workarea nao indexada
Enviado: 23 Nov 2015 14:40
por asimoes
Tem muita coisa legal disponível para o harbour, mas quando começa dar erro e você não faz idéia do que é, preocupa.
Error LETO/1201 Workarea nao indexada
Enviado: 23 Nov 2015 15:36
por Toledo
Alexandre, se os arquivos estão abertos (DBF e CDX), então resta saber se no arquivo CDX existe esta terceira (3) ordem.
O melhor seria fazer alguns testes:
Código: Selecionar todos
SELE ADMSAUDE
? OrdSetFocus(1)
? OrdSetFocus(2)
? OrdSetFocus(3)
? OrdSetFocus(1)
Abraços,
Error LETO/1201 Workarea nao indexada
Enviado: 23 Nov 2015 16:01
por asimoes
Olá Toledo,
Depois de aberta a tabela eu fiz este teste:
Código: Selecionar todos
cTEXTO := ''
FOR X = 1 TO OrdCount()
cTEXTO += Str(X,2)+'-'+OrdName(x)+" "+OrdKey(x) + hb_EOL()
NEXT
hwg_MsgInfo(cTexto)
Todas as tags com as chaves estão corretas.
Obs.: este erro é eventual, não sei qual condição precisa para ocasionar a falha, pode ser um problema de rede no momento do ordsetfocus?, inclusive eu estou
testando esta rotina de outra forma, não sei se é chover no molhado, mas ao invés de fazer assim: OrdsetFocus(1) troquei para OrdSetFcus("nome da tag")
ADMSAUDE->(OrdSetFocus("admsau-2")) //3
IF ADMSAUDE->(DbSeek(cVar))
Error LETO/1201 Workarea nao indexada
Enviado: 24 Nov 2015 12:12
por Jairo Maia
Olá Pessoal,
Alexandre, como você disse que o erro é eventual, então apenas um palpite: Mais acima você colocou como faz a abertura da tabela, e é através da função NetUse(). Você também pega o retorno de NetUse() em lAbriu. Mas parece que você não trata a variável lAbriu, assim, se a função NetUse() retornou .f. porque o arquivo está bloqueado por outro terminal, sua função continua, e na verdade o arquivo não foi aberto na máquina que dá o erro. Apenas palpite...
Error LETO/1201 Workarea nao indexada
Enviado: 24 Nov 2015 16:57
por JoséQuintas
Não uso lettodb mas estranhei essa parte de índice.
Como é identificado se o índice é local ou no lettodb?
No hbnetio é diferente:
Ao não identificar com net:, o arquivo é considerado local.
Só estranhei isso e fiquei curioso.
Não sei se pode ter a ver com seu problema.
Error LETO/1201 Workarea nao indexada
Enviado: 30 Nov 2015 14:51
por Itamar M. Lins Jr.
Ola!
Em algum lugar vc deve está fechando o DBF ou a rede está caindo... Esse erro ocorre mesmo em rede local ou via ADSL ?
Eu pego esse erro aqui quando uso ADSL com o sinal muito ruim... Local já não apresenta.
LetoDb não tem o sintaxe do NETIO, quando abrimos o DBF indicamos o local via TCP/IP.
use "//192.168.0.100:2812/meudbf.dbf "
ou
use meudbf.dbf
Quando setado anteriormente o local via arquivo letodb.ini
Código: Selecionar todos
[MAIN]
Port = 2812
Logfile = "letodb.log"
DEFAULT_DRIVER = CDX
DATAPATH = c:\clientes\lojaxyz\
...
Eu fiz uma checagem extra neste caso...
Código: Selecionar todos
BEGIN SEQUENCE WITH {| oErr | Break( oErr ) }
eqw->(ordSetFocus(2)) //cod_mercad
If eqw->( Dbseek(eq->cod_mercad) )
...
Recover
hwg_Msginfo('Falha na rede: ' + cPath)
//aWAN[n] := LETO_GETCURRENTCONNECTION()
//aAlias[n] := "EQ"+strzero(n,3)
fechaDb("EQW")
cCDX := cPath+'estoque.cdx'
DbUseArea(.T.,"LETO",cPath+'estoque.dbf',"EQW",.t.,.f.,'PTISO')
Set index to &cCDX
EQW->(OrdSetFocus(2)) //cod_mercad
LOOP
End Sequence
Saudações,
Itamar M. Lins Jr.
Error LETO/1201 Workarea nao indexada
Enviado: 30 Nov 2015 20:07
por asimoes
Eu modifiquei o código para OrdSetFcus("nome da tag") e até agora está funcionando sem erro.
Error LETO/1201 Workarea nao indexada
Enviado: 30 Nov 2015 22:56
por JoséQuintas
Apenas suposição:
Talvez a macro no nome do índice tenha causado falha na conversão do #include.