Você está na página 1de 4

ACRESCENTAR TIPO SDF resolução de problemas APPEND TYPE SDF trouble shooting

Determinar se o problema é com a (1) entrada de dados (2) ou a recepção de dados Determine whether the problem is with the (1) incoming data (2) or
da base de dados. receiving data base.
(1)
USE dbf_name (1)
COPIAR PARA temp.txt TIPO SDF USE dbf_name
COPY TO temp.txt TYPE SDF
O ACRÉSCIMO DE temp.txt TIPO SDF APPEND FROM temp.txt TYPE SDF

Se funciona acima parece que o problema é com a entrada de banco de dados. If the above works it would appear that the problem is with the
incoming database.
a) Estar ciente do seguinte problema potencial em dBASE IV V2.0 x54. Esse problema
não existe em v1.5 ou dBASE IV v2.0 x16. Em ASCII SDF (texto de comprimento fixo), a) Be aware of the following potential problem in dBASE IV V2.0
se a largura de cada linha é substancialmente maior do que a estrutura da DBF, em x54. This problem does not exists in v1.5 or dBASE IV v2.0 x16. In
seguida, intermitentemente um registro pode começar por apresentar um caractere the ASCII SDF (text fixed-length) file, if the width of each line is
de avanço de linha (CHR(10)) e o resto do campo de dados será deslocado um substantially longer than the structure of the DBF, then
intermittently a record may begin by displaying a line-feed character
caractere para a direita, para este registro só. Isso acontece sobre cada 300-1000 (CHR(10)) and the rest of the field data will be shifted one character
registros, dependendo do registro de largura. to the right for this record only. This happens about every 300-1000
records, depending on the record width.
Em nossos testes se o registro de largura .dbf e o ASCII arquivo SDF são relativamente
perto, então este mau comportamento não acontece. Certifique-se de que a sua In our testing if the record width of the .dbf and the ASCII SDF file
estrutura corresponde a entrada de dados exatamente. Utilize a seguinte fórmula: are relatively close, then this misbehavior does not happen. Make
sure your structure matches incoming data exactly. Use the
following formula:
(sum_of_the_field_widths + 1 For_the_delete_mark) = (width_of_SDF_file + 1)
(sum_of_the_field_widths + 1 For_the_delete_mark) =
Uma LISTA de EXIBIÇÃO de ESTRUTURA de lista de um total de registro de largura, (width_of_SDF_file + 1)
usando a fórmula:
A LIST/DISPLAY STRUCTURE will list a total record width using
(sum_of_field_widths + 1 for_the_delete_mark) = <n> the formula:

Para testar a exata compilação do dBASE emita o seguinte comando: (sum_of_field_widths + 1 for_the_delete_mark) = <n>

?VERSÃO(0) To test the exact build of dBASE issue the following command:

?VERSION(0)
Este problema foi corrigido no dBASE IV v2.0 x16. Se você tem x54 você pode obter a
atualização, contate o atendimento ao Cliente, deixando uma mensagem na seção 2 This problem was corrected in dBASE IV v2.0 x16. If you have x54
you can obtain the upgrade by contacting Customer Service by
deste fórum, entrando IR BORCS, ou chamar 408/461-9000. leaving a message in section 2 of this forum, entering GO BORCS,
or calling 408/461-9000.
b) certifique-se de que você tem um CR/LF no final de cada linha/registro. TIPO SDF
comprimento fixo arquivos, delimitadores são; b) Make sure you have a CR/LF at the end of each line/record.
TYPE SDF fixed length files, delimiters are;
Delimitador de registo: CR/LF
 Record delimiter: CR/LF
Delimitador de campo: <nenhum>, campos estão alinhados em colunas  Field delimiter: <none>, fields are lined up in columns
Final do delimitador de arquivo: <nenhum>  End of file delimiter: <none>
Para corrigir, use um processador ou editor para adicionar CR/LF para o final de cada
linha ou faça o download do seguinte arquivo, To correct, use a word processor or editor to add CR/LF to the end
of each line or download the following file,
Lib: 3 ADCRLF.ZIP
Título : ADCRLF adiciona CR LF após cada n bytes do arquivo. Lib: 3 ADCRLF.ZIP
ADCRLF adiciona CR LF após cada n bytes de um arquivo, a conversão de um arquivo Title : ADCRLF adds CR LF after each n bytes of file.
com registos de comprimento fixo, mas não delimitadores para o formato SDF pronto ADCRLF adds CR LF after each n bytes of a file, converting a file
with fixed-length records but no delimiters to SDF format ready for
para importar dBASE. Sintaxe: ADCRLF <atual> <saída> <recordlength>. O arquivo import into dBASE. Syntax: ADCRLF <infile> <outfile>
contém .Programa EXE e com .C de código da fonte. <recordlength>. File contains .EXE program and .C source code.

dBASE IV v2.0 é menos indulgente então a versão anterior, no que diz respeito a ter dBASE IV v2.0 is less forgiving then previous version, in regards to
um CR/LF delimitador do arquivo de entrada. having a CR/LF delimiter on the incoming file.

c) O arquivo de entrada contém caracteres inválidos. Estendida ou NUL CHR(0) c) The incoming file contains illegal characters. Extended or NUL
CARACTERES incorporados na entrada de arquivo de texto pode causar problemas. CHR(0) CHARACTERS embedded in incoming text file may cause
problems. Problem ASCII characters may be stripped using a utility
Problema de caracteres ASCII, pode ser removido usando um utilitário como:
such as:

Lib 3: XLATE.ARCO Lib 3: XLATE.ARC

Para descompactar um .ARCO arquivo, você precisará PKUNPAK To uncompress an .ARC file you will need PKUNPAK

Lib: 1 PK361.EXE Título : Arco de compressão/descompressão utilitário Lib: 1 PK361.EXE Title : Arc compression/decompression utility

(2) Se o banco de dados de recebimento é a causa do problema, tente o seguinte (2) If the receiving database is the cause of the problem, try the
código: following code:

USE <nome do arquivo>


USE <filename>
COPIE a ESTRUTURA ESTENDIDA PARA temp
COPY STRUCTURE EXTENDED TO temp
CRIAR novos a PARTIR de temp CREATE new FROM temp
O ACRÉSCIMO DE temp.txt TIPO SDF APPEND FROM temp.txt TYPE SDF
* se isso funciona, mestre de cópia de segurança .DBF e * if this works, backup master .DBF and
* UTILIZAR novas * USE new
* COPY TO <filename> && overwrite
* COPIAR <filename> && substituir
Acima, às vezes, pegar coisas como ilegal nomes de campo, juntamente com
The above will sometimes catch things like illegal field names along
esperemos que a criação de uma estrutura limpa. Certifique-se de que você está with hopefully creating a clean structure. Make sure you are indeed
realmente legais seguintes convenções de nomenclatura para o campo de arquivo e following legal naming conventions for field file and memory
memória de nomes de variáveis: Começa com uma letra, e contém letras, números e variable names: Begins with a letter, and contains letters, numbers
o caractere de sublinhado. Não use dBASE reserva de palavras. Estas são dBASE and the underscore character. Do not use dBASE reserve words.
comando palavras ou 4 primeiras letras de um comando do dBASE como um nome. These are dBASE command words or the first 4 letters of a dBASE
Exemplo: TOTAL, TOTA; SELECIONAR, SELECÇÃO, SELE. Não use as letras a-J, estes são command as a name. Example: TOTAL, TOTA; SELECT, SELEC,
SELE. Don't use the letters A-J, these are reserved for ALIAS
reservados para nomes de ALIAS. names.

COPIE a ESTRUTURA ESTENDIDA como acima irá corrigir algumas formas de COPY STRUCTURE EXTENDED as above will correct some forms
corrupção. Para uma mais completa corrupção de seleção de download: of corruption. For a more thorough corruption check download:

Lib: 6 DBFCLN.EXE - Dbfclean utilitário Lib: 6 DBFCLN.EXE - Dbfclean utility


Lib: 6 DBTCHK.EXE - Dbtcheck utilitário Lib: 6 DBTCHK.EXE - Dbtcheck utility

Executar o CHKDSK ou o SCANDISK e corrigir os erros de disco.  Run CHKDSK or SCANDISK and correct any disk errors.
Execute o DBFCLEAN/DBTCHECK utilitários.  Run the DBFCLEAN/DBTCHECK utilities.
 Then in dBASE delete the MDX file and rebuild the tags.
Em seguida, no dBASE excluir o arquivo MDX e reconstruir as tags.
USE <filename>
USE <nome do arquivo> LIST STATUS TO PRINT && To get a hard copy
STATUS da LISTA IMPRIMIR && Para obter uma cópia impressa do índice of index
&& e expressões && and expressions if you
&& não sabe esta informação. && don't know this information.
FECHE TODOS OS CLOSE ALL
!DEL <filename>.MDX
!DEL <nome do arquivo>.MDX USE <filename> && choose PROCEED from error
USE <filename> && escolha de PROCEDER da caixa de erro box
ÍNDICE DE ... MARCA ... && ETC. INDEX ON ... TAG ... && ETC.
INICIALIZAÇÃO LIMPA:  BOOT CLEAN:
CONFIG.SYS
ARQUIVOS=99 CONFIG.SYS AUTOEXEC.BAT
MEMÓRIAS INTERMÉDIAS=15 AUTOEXEC.BAT FILES=99 PATH=C:\DBASE
BUFFERS=15 PROMPT $P$G
CAMINHO=C:\DBASE
PROMPT $P$G
If you have a third party hard disk driver (e.g., DMDRVR.BIN,
Se você tiver um terceiro controlador do disco rígido (por exemplo, DMDRVR.BIN, SPEEDSTOR, SCSIHA.SYS, or STACKER) you must include this
SPEEDSTOR, SCSIHA.SYS ou EMPILHADOR) você deve incluir esta na CONFIG.SYS in the CONFIG.SYS file.
arquivo.
[Home] [FAQ Index]
[Home] [FAQ Índice]The text size exceeds the maximum

Você também pode gostar