4D v12.4

Compact data file

Página Inicial

 
4D v12.4
Compact data file

 

Compact data file 


 

Compact data file ( endEstrutura ; endDados {; pastaArquivo {; opçao {; metodo}}} ) -> Resultado 
Parâmetro Tipo   Descrição
endEstrutura  Texto in Endereço de acesso ao arquivo de estrutura
endDados  Texto in Endereço de acesso ao arquivo de dados
pastaArquivo  Texto in Endereço de acesso a pasta onde será colocado o arquivo de dados original
opçao  Inteiro longo in Opções de compactação
metodo  Texto in Nome do método 4D de retrochamada
Resultado  Texto in Endereço de acesso completo à pasta que contém o arquivo de dados original


O comando Compact data file compacta o arquivo de dados designado pelo parâmetro endereçoDados associado com o arquivo de estrutura endereçoEstrutura. Para mais informações sobre compactação, consulte o manual de Desenho. 

Para assegurar a continuidade da operação do banco de dados, os novos dados de arquivos compactados automaticamente substituem o arquivo original. Por razões de segurança, o arquivo original não é modificado e é movido para uma pasta especial chamada "Replaced files (compacting) AAAA-MM-DD HH-MM-SS", onde AAAA-MM-DD HH-MM-SS representa a data e hora do backup. Por exemplo: "Replaced files (compacting) 2007/09/27 15-20-35"

O comando retorna o caminho completo da pasta realmente criado para armazenar os dados do arquivo original. Este comando só pode ser executado a partir de 4D (modo local) ou 4D Server (stored procedure). Os arquivo de dados a ser compactado deve corresponder à estrutura do arquivo designado pela structurePath. Além disso, o arquivo de dados não deve ser aberto quando o comando é executado, caso contrário um erro é gerado.

Se ocorrer um erro durante o processo de compactação, os arquivos originais são mantidos em sua posição inicial. Se um arquivo de índice (arquivo .4DIndx ) é associado com o arquivo de dados, ele também é compactado. Tal como acontece com os dados, o arquivo original está salvo e  a nova versão compactada substitui a anterior.

  • No parâmetro endereçoEstrutura, passe o caminho completo da estrutura do arquivo associado ao arquivo de dados que você deseja compactar. Esta informação é necessária para o processo de compactação. O caminho deve ser expresso na sintaxe do sistema operacional. Você também pode passar uma string vazia, neste caso, a caixa de diálogo padrão de abrir arquivos aparece para que você possa designar a estrutura do arquivo a ser utilizado.
  • No parâmetro endereçoDados, você pode passar uma string vazia, um nome de arquivo ou um caminho completo, expresso na sintaxe do sistema operacional. Se você passar uma string vazia, a caixa de diálogo padrão de abrir arquivos aparece para que o usuário possa selecionar os dados do arquivo a ser compactado. Este arquivo deve corresponder à estrutura do arquivo definido no parâmetro structurePath. Se você só passar o nome do arquivo de dados, 4D vai procurá-la no mesmo nível da estrutura de arquivo.
  • O parâmetro opcional pastaArquivo pode ser usado para especificar a localização da pasta "Replaced files (compacting) DateTime"  destinada a receber as versões originais dos arquivos de dados, bem como todos os arquivos de índice.

O comando retorna o caminho completo da pasta criada.

- Se você omitir esse parâmetro, os arquivos originais são automaticamente colocados em na pasta "Replaced files (compacting) DateTime" que é criada ao lado da estrutura de arquivo.
- Se você passar uma string vazia, uma caixa de diálogo padrão de Abrir pasta irá aparecer para que o usuário possa especificar a localização da pasta a ser criada.
- Se você passar um endereço (expresso na sintaxe do sistema operacional), o comando vai criar uma pasta "Replaced files (compacting) DateTime" neste local.

  • O parâmetro opcional opções é usado para definir várias opções de compactação. Para fazer isso, use as seguintes constantes, encontradas no tema “Data file maintenance”. Você pode passar várias opções, combinando-as:

- Do not create log file (16384): Este comando cria um arquivo de histórico em formato XML. Seu nome está baseado no arquivo de dados e está localizado junto a este arquivo (localização original). Por exemplo, para um arquivo de dados chamado “data.4dd,” o arquivo de histórico se chamará “data_compact_log.xml.”

- Create process (32768): Quando se passa esta opção, a compactação será assíncrona e será necessário administrar os resultados com a ajuda do método de retrochamada. (ver mais adiante). 4D não mostrará a barra de progresso (é possível fazê-lo utilizando o método de retrochamada). A variável sistema OK recebe o valor 1 se o processo é iniciado corretamente e 0 nos demais casos. Quando não se passa esta opção, a variável OK recebe o valor 1 se a compactação foi realizada corretamente, caso contrário recebe o valor 0.

  • O parâmetro metodo é usado para definir um método de callback que será chamado com durante a compactação, se a opção Create process for passada. Caso contrário, o método de callback nunca é chamado. Para obter mais informações sobre este método, consulte a descrição do comando VERIFY DATA FILE.

Se o método de callback não existe no banco de dados, é gerado um erro e a variável de sistema OK é definida como 0.

Por padrão, o comando Compact data file cria um arquivo de log no formato XML (se você não tiver passado a opção Do not create log file , consulte o parâmetro opçao). Seu nome é baseado no arquivo de dados e é colocado próximo a esse arquivo. Por exemplo, para um arquivo de dados chamado "data.4dd", o arquivo de log será nomeado "data_compact_log.xml"

Exemplo  

O exemplo a seguir (Windows) efetua a compactação de um arquivo de dados:

 $arquivoEstrutura:=Structure file
 $arquivoDados:="C:\Bancos\Faturas\Janeiro\Faturas.4dd"
 $arquivoOrig:="C:\Bancos\Faturas\Arquivos\Janeiro\"
 $pastaArqu:=Compact data file($arquivoEstrutura;$arquivoDados;$arquivoOrig)

Se a operação de compactação foi realizada corretamente, a variável sistema OK recebe o valor 1, caso contrário, recebe o valor 0.

 
PROPRIEDADES 

Produto: 4D
Tema: Ambiente 4D
Número 937

Este comando modifica a variável sistema OK

 
HISTÓRIA 

Criado por: 4D v11 SQL

 
VER TAMBÉM 

Get table fragmentation
VERIFY DATA FILE