Clique abaixo para nos ajudar
Login

Esqueci minha senha

Estamos no Facebook
Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Quem está conectado
8 usuários online :: 1 usuário cadastrado, Nenhum Invisível e 7 Visitantes :: 2 Motores de busca

Jorge Pinguim

[ Ver toda a lista ]


O recorde de usuários online foi de 468 em 1/3/2012, 10:43
Últimos assuntos
USAR REPORT FORM

30/12/2016, 09:06 por AJC

Pessoal bom dia,
Estou com um grande problema, já pesquisei muita coisa sobre report form, mas o …

Comentários: 3

Impressora Ticket

15/11/2016, 09:20 por clima238

Bom dia,
Por favor alguém me explique porque o código abaixo imprime no ecrã em vez do printer: …

Comentários: 2

Visite meu canal no Youtube

20/1/2017, 00:45 por ImRicoh

VFP Unlimited


Comentários: 0

Bloquear edição do ListBox

17/6/2010, 15:13 por Julio

Pessoal

Boa Tarde!

Tnho uma listbox apenas para exibir o resultado.
Preciso bloquear a listbox …

Comentários: 17

automação do mozilla e chrome

15/1/2017, 12:16 por Handerson Mildroz

Boa tarde a todos!

Sou iniciante no VFP. Preciso de ajuda, pois tenho um código que usa o …

Comentários: 0

Estatísticas
Temos 6992 usuários registrados
O último usuário registrado atende pelo nome de BrenoTayne

Os nossos membros postaram um total de 10 mensagens em 4 assuntos

Problema com index !!!

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Em curso Problema com index !!!

Mensagem por FERNANDOMATRELLA em 15/10/2012, 12:07

Bom dia!
Caros amigos estou com um PROBLEMÃO aqui na minha empresa.
Trabalho hoje com um executavel em um servidor acessado com mapeamento de rede logo todos os terminais de minha empresa trabalham em cima do servidor .
Tenho um cliente meu com +/- uns 30 terminais e estou tendo um acesso simultaneo de pelo menos 15 terminais na mesma tabela .
O problema é o seguinte vira e mexe corrompe alguma tag de indice dando a seguinte

menssagem the tag vendas.cdx is corrupted please rebuild
logo ligo para o cliente peço para os 15 terminais fecharem o sistema e reindexo a tabela afetada.
agora o duro é fazer os 15 terminais fecharem
estou tendo muitos pesadelos com isso alguem ja passou por isso e poderia ajudar um amigo a dormir ????

FERNANDOMATRELLA
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Em curso Re: Problema com index !!!

Mensagem por mauro victoria em 16/10/2012, 08:13

Fernando bom dia
Tenho este mesmo problema, não sei resolves isso a nível de programação,
mas procuro orientar os usuários para que saiam do programa coretamento,
não dando control alt del , resetando a maquina, desligango o micro no meio de um processo de acesso a bando de dados, normalmente eles usam outros programas, acesso a internet e alguns desses procedimentos acaba congelando a maquina e forçando o usário a desligar a maquina com o bando de dados aberto, colocar um nobreak em cada terminal e no servidor para evitar pick de luz e danificar os arquivos, essas medidas tem ajudado bastante aqui na empresa.

mauro victoria
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Em curso Re: Problema com index !!!

Mensagem por FERNANDOMATRELLA em 16/10/2012, 10:50

ola mauro obrigado por compartilhar sua experiencia comigo ...
uso windows server 2008 e criei politicas GPO para energia,rede,desligamento e eetc meu usuario esta super enfaixado .
Mesmo assim o animal vai la e com o banco de dados aberto me faz logof no usuario acho que eles vao para quando eu for com uma chinela e der neles kkkkkk...
agora acho q a solução mesmo seria arrumar o indice com a tabela aberta será q é impossivel ??

FERNANDOMATRELLA
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Em curso Re: Problema com index !!!

Mensagem por Sub-Zero em 16/10/2012, 14:52

Criei uma APP que dentro dela . executo esse trecho pra todas tabelas .

Toda vez que crio um campo novo no meu script , eu crio tb nessa app de reindex .

Código:
 WAIT WINDOW 'Atualizando AGENDA.DBF' NOWAIT ;
AT WROWS([screen])/2, (WCOLS([screen]))/2

IF FILE('agenda.CDX')
      DELETE FILE FULLPATH(CURDIR())+'agenda.CDX' RECYCLE
ENDIF

USE agenda EXCLUSIVE

INDEX ON AG_COD TAG  CODIGO
INDEX ON AG_USER TAG AG_USER

Não sei se precisa ai de EXCLUSIVE para por indice capaz que nao se tiver tem como fazer com o programa aberto , ai fica beleza

Sub-Zero
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Em curso Re: Problema com index !!!

Mensagem por FERNANDOMATRELLA em 17/10/2012, 10:50

Vlw Sub-zero sua rotina é 10 porem o File precisa ser aberto exclusivo esse problema esta me matando acho q vo perde meu cliente pra Totvz

FERNANDOMATRELLA
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Em curso Re: Problema com index !!!

Mensagem por Sub-Zero em 17/10/2012, 13:35

Posta sua duvida no grupo foxbrasil do yahoo lá tem gente que poderá auxilia-lo melhor , cadastra-se se necessário

Sub-Zero
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Em curso Re: Problema com index !!!

Mensagem por Marcos Guedes em 19/10/2012, 17:31

Fernando, por que você está precisando reindexar a tabela com ela aberta?

_________________
Marcos Guedes - Programador e desenvolvedor Web.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Em curso Re: Problema com index !!!

Mensagem por FERNANDOMATRELLA em 22/10/2012, 12:59

Quase isso marcos sei que é impossivel fazer uma indexação com tabela aberta porem percebi que o meu indice esta bom porem vou dar um exemplo : deu a mensagem de erro ===> Tag cliente is corrupted please rebuilt .
oque eu reparei
abro meu Database :OPEN DATABASE F:\PONTOVENDA\DATABASEVENDA.DBC SHARED
abro a tabela:
USE VENDAS.DBF SHARED
ai que entra o curioso
tenho o cliente fernando vo da um browse nele
BROWSE FOR CLIENTE = "FERNANDO"
abre normalmente o browser porem um dos individuos ta ruim ex:paulo
BROWSE FOR CLIENTE = "PAULO"
ai da a menssagem q a tag ta corrompida creio eu que deve ter algum jeito de arrumar aonde essa tag esta bixada



FERNANDOMATRELLA
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Em curso Re: Problema com index !!!

Mensagem por FERNANDOMATRELLA em 22/10/2012, 13:02

e o motivo é que tenho +/- uns 30 terminais com essa tabela em uso shared imgina ligar pros 30 cidadoes pedindo pra eles fecharem o sistema eles ficam com o cao no corpo quando acontece isso querem me matar

FERNANDOMATRELLA
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Em curso Re: Problema com index !!!

Mensagem por Sub-Zero em 22/10/2012, 13:38

Fernando me desculpe a curiosidade , andei testando o dropbox e o sync e nao derao certo . Qual software esta usando para syncronizar


Sub-Zero
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Em curso Re: Problema com index !!!

Mensagem por Sub-Zero em 22/10/2012, 13:43

O problema que voce está parece ser por que o Servidor é 64 bits correto ?
Vou procurar no foxite e no tek-tips a resposta pra voce

tenta essa funcao , reindexar com o programa aberto ,
[Você precisa estar registrado e conectado para ver este link.]
Código:

FUNCTION TableReindex(fn) &&fn - table name

LOCAL nSel, FlgError, sError

sError= ON("ERROR")
FlgError= .F.

nSel= SELECT()
SELECT 0
ON ERROR FlgError= .T.
USE (fn) EXCLUSIVE
IF !FlgError
REINDEX
ENDIF
USE
ON ERROR &sError
SELECT (nSel)

RETURN !FlgError

tenta esta parece que seleciona os corrompidos
[Você precisa estar registrado e conectado para ver este link.]

Código:
create table INDEXINF ;
(TabNam c(8), ;
TagNam c(10), ;
IndExp c(70), ;
IndFil c(70), ;
SrcDate date,;
SrcTime c(8))
use (table2Fix) in 0

sele (table2Fix)

wait clear
for k = 1 to 256
set filter to
set order to
if not empty(tag(k))
lc = tag(k)
lcexpr = sys(14,k)
lcfil = sys(2021,k)
wait clear
wait wind nowa "Table "+padl(dbf(), 30," ")+". Order on TAG "+ padl(lc, 15, " ")
INSERT into IndexInf ;
(TabNam, TagNam, IndExp, IndFil, SrcDate, SrcTime) ;
VALUES ;
(pcTbl, lc, lcexpr,   lcfil, date(), time() )
else
exit
endif
endfor


tenta esse com programa aberto
[Você precisa estar registrado e conectado para ver este link.]

Código:
USE CUSTOMER
DELETE TAG ALL && this deletes the .CDX file, nothting else
INDEX ON CUSTOMERID TAG CUSTOMERID
INDEX ON DTOS(ACCOUNTDATE)+CUSTOMERID TAG ACCOUNTAGE

Esse programa de terceiros [Você precisa estar registrado e conectado para ver este link.] tente ele

Sub-Zero
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Em curso Re: Problema com index !!!

Mensagem por Sub-Zero em 22/10/2012, 14:14

Tenta esse tambem em execucao
[Você precisa estar registrado e conectado para ver este link.]



Quiser remover a referência de um DBF CDX sem abertura (USE'ing) o DBF?
Isso é particularmente útil quando você quiser reindexar a DBF por causa da corrupção do índice (saindo VFP através encerramento anormal), onde você receber um erro cada vez que você usar a tabela.

Basicamente, isso não faz a mesma coisa que aconteceria se você excluiu o CDX, em seguida, abriu o DBF e ignorou o erro "arquivo de índice estrutural não encontrado".
[Você precisa estar registrado e conectado para ver este link.]

Código:

FUNCTION RemCdx( pcFile )
LOCAL lnHandle, lnResult
PRIVATE nErr
nErr  = 0
lnResult = 0
if adir(laJnk,pcFile) = 0
  Return -1
endif
lnFileSize = laJnk[2]

lnHandle = FOPEN(pcFile,12)  && Open file, R/W, Unbuffered
IF lnHandle > 0
  oErr = On("ERROR")
  ON ERROR nErr=Error()
  FSEEK(lnHandle,28,0) && Flags
  lcFlags = FREAD(lnHandle,1)
  * Remove flag for HAS CDX
  lcFlags = CHR( BITAND( ASC(lcFlags), BITNOT(0x01) ) )
  FSEEK(lnHandle,28,0) && Flags
  FWRITE( lnHandle, lcFlags )
  FCLOSE(lnHandle)
  ON ERROR &oErr
ELSE
  lnResult = iif(lnHandle=0,-1,lnHandle)
ENDIF
RETURN lnResult
ENDFUNC


Aproveitando a Maré das ondas . saber se a tabela tem CDX

Código:
?CDXexist(GETFILE('dbf'))


*******************
Function CDXExist
*******************
LPARAMETERS _dbf
IF VARTYPE(_dbf)#"C"
   RETURN .f.
ENDIF


IF !FILE(_dbf)
   WAIT WINDOW "File '"+_dbf+" does not exist" NOWAIT
   RETURN .f.
ENDIF


LOCAL nHandler,cdxflg

nHandler=FOPEN(_dbf)
IF nHandler < 0
   WAIT WINDOW "File '"+_dbf+" acess denied" NOWAIT
   RETURN .f.
ENDIF
=FSEEK(nHandler,28)
m.cdxflg=FREAD(nHandler,1)
=FCLOSE(nHandler)
RETURN m.cdxflg=CHR(1)


Debugar problemas de indices com ON ERROR

Código:
Use Astock2 Exclusive


ON ERROR DO SLTN WITH ;
  ERROR( ), MESSAGE( ), MESSAGE(1), PROGRAM( ), LINENO( )


Sltn.prg

LPARAMETERS merror, mess, mess1, mprog, mlineno
LOCAL ARRAY arrError[1]
AERROR(arrError)
merror = arrError[1]

  IF merror = 1707 && STRUCTURE CDX NOT FOUND
      GOON8=0
      mans=0+16+0
      MESSAGEBOX("Your tables are not indexed run re-indexing to re-create order of tables from the desktop",mans,"Index corrupted")
      QUIT
  ENDIF

  IF merror = 1705 && File access is denied
      GOON8=0
      mans=0+16+0
      MESSAGEBOX("File access is denied , Open by another user on the network or Program running twice on Pc",mans,"Access Denied")
      RETURN
  ENDIF

Sub-Zero
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Em curso Re: Problema com index !!!

Mensagem por Marcos Guedes em 26/10/2012, 16:02

[Você precisa estar registrado e conectado para ver este link.] escreveu:Quase isso marcos sei que é impossivel fazer uma indexação com tabela aberta porem percebi que o meu indice esta bom porem vou dar um exemplo : deu a mensagem de erro ===> Tag cliente is corrupted please rebuilt .
oque eu reparei
abro meu Database :OPEN DATABASE F:\PONTOVENDA\DATABASEVENDA.DBC SHARED
abro a tabela:
USE VENDAS.DBF SHARED
ai que entra o curioso
tenho o cliente fernando vo da um browse nele
BROWSE FOR CLIENTE = "FERNANDO"
abre normalmente o browser porem um dos individuos ta ruim ex:paulo
BROWSE FOR CLIENTE = "PAULO"
ai da a menssagem q a tag ta corrompida creio eu que deve ter algum jeito de arrumar aonde essa tag esta bixada


Fernando, se não me falha a memória, há um comando que nos permite bloquear uma linha da tabela quando a mesma estiver em uso.

Não será que você está fazendo isto em sua aplicação?

Este registro que você está tentando selecionar tem dependência?
Se "não", já tentasse excluí-lo e adicioná-lo novamente?

É possível você copiar esta base de dados para um outro local e verificar se consegues selcionar o registro?

_________________
Marcos Guedes - Programador e desenvolvedor Web.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Em curso Re: Problema com index !!!

Mensagem por pedrossian em 27/10/2012, 20:44

Porque vc não copia a tabela para outra e solta um comando "pack"
depois REINDEXA.

no MAIN coloca "ON SHUTDOWN QUIT" nunca mais deu pau nos meus indices.

Normalmente, o comando ON SHUTDOWN é um comando DO que executa uma rotina para exibir uma caixa de diálogo. A caixa de diálogo pergunta se você tem certeza de que deseja sair do aplicativo atual e do Visual FoxPro. Se você quiser sair do aplicativo, a rotina poderá fechar arquivos abertos, limpar o ambiente do Visual FoxPro e, em seguida, executar QUIT. Caso você não queira sair do aplicativo atual, a rotina poderá retornar o controle novamente para o aplicativo.

pedrossian
Participante Regular
Participante Regular


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum