OLÁ AMIGOS.
Tenho um relatório que cria um banco de dados apartir de um outro usando o comando copy to, mas dá esse erro, na linha do comando:
ERROR SIXNSX/1021 DATA WIDTH ERROR
Será que tem alguma coisa a ver com campo memo, pois esse banco tem.
Grato.
Vagner - SP
DATA WIDTH ERROR
Moderador: Moderadores
-
vagner_cip
- Usuário Nível 1

- Mensagens: 30
- Registrado em: 05 Out 2004 14:07
-
Dudu_XBase
- Membro Master

- Mensagens: 1071
- Registrado em: 25 Ago 2003 16:55
Esse outro banco de dados esta em SIXNSX com memo com extensão .smt ?
________________________________________________________________________________________________________
(Aow Saudade) Clipper 5.2e, Blinker 7, RDD SIXNSX, DBFCDX /Xharbour 1.0, Rdd Mediator (Mysql) Free , RDD Sqlrdd (Sql Server) Comercial
(Hoje) C# Python Sql Server e Oracle
-
vagner_cip
- Usuário Nível 1

- Mensagens: 30
- Registrado em: 05 Out 2004 14:07
Tive um problema com campo memo a pouco tempo.
Via sistema não conseguia entrar em quase nenhum registro, dava que estava corrompido.
Eliminar um por um estava impossivel, pra ter uma ideia, de 1500 registros, so salvou 50.
Fiz essa rotina pra fazer o serviço. Resolveu o meu problema, agora, RECUPERAR o texto é praticamente impossivel. O meu arquivo Texto é o FPT, mas acredito que de certo com o DBT.
/////////
// elimina os registros com Campo Memo corrompido
// e cria um arquivo ruim.txt para identificar os registros que foram excluidos
// FA€A UM BACKUP ANTES DE UTILIZAR ESSA ROTINA
// reindexe os arquivos apos usar a rotina
///////////
/*
arquivo utilizado nesse exemplo RECIBO.DBF
DATA D 08
DOCUM C 06
NOME C 30
TEXTO M 10
*/
set dele off
set date briti
set cent on
ERRORBLOCK({|E| erro(E)})
cls
use recibo new // nao acione nenhum indice
goto top
set alte on
set alte to ruim.txt
qterro:=0
do while .not. eof()
x:=texto
if empty(alltrim( x))
x:=dtoc(data) +" "+docum+" "+nome
? x
dele
qterro++
endif
SKIP
ENDDO
?? "total de registros com problemas=> "+str(qterro,6)
set alte off
set alte to
pack
close data
retu nil
///////////////////////////
FUNCT ERRo(E)
RETU .f.
///////////////////
Um abraço
Poka
Via sistema não conseguia entrar em quase nenhum registro, dava que estava corrompido.
Eliminar um por um estava impossivel, pra ter uma ideia, de 1500 registros, so salvou 50.
Fiz essa rotina pra fazer o serviço. Resolveu o meu problema, agora, RECUPERAR o texto é praticamente impossivel. O meu arquivo Texto é o FPT, mas acredito que de certo com o DBT.
/////////
// elimina os registros com Campo Memo corrompido
// e cria um arquivo ruim.txt para identificar os registros que foram excluidos
// FA€A UM BACKUP ANTES DE UTILIZAR ESSA ROTINA
// reindexe os arquivos apos usar a rotina
///////////
/*
arquivo utilizado nesse exemplo RECIBO.DBF
DATA D 08
DOCUM C 06
NOME C 30
TEXTO M 10
*/
set dele off
set date briti
set cent on
ERRORBLOCK({|E| erro(E)})
cls
use recibo new // nao acione nenhum indice
goto top
set alte on
set alte to ruim.txt
qterro:=0
do while .not. eof()
x:=texto
if empty(alltrim( x))
x:=dtoc(data) +" "+docum+" "+nome
? x
dele
qterro++
endif
SKIP
ENDDO
?? "total de registros com problemas=> "+str(qterro,6)
set alte off
set alte to
pack
close data
retu nil
///////////////////////////
FUNCT ERRo(E)
RETU .f.
///////////////////
Um abraço
Poka


