COMPACTACAO DE ARQUIVOS GRANDES

CLAYTON 10/01/2012 16:26:03
#392865
Salve Galera...

bom pessoal.. to com o seguinte problema..

uso o mysql.. e faço o backup via mysqldump... (ok tudo perfeito..)

depois do arquivo gerado eu compacto esse arquivo usando o Azip32.dll >>> (tudo perfeito tb)...

so q tem um problema... quando o arquivo de backup do mysql da mais do q 4GB... a dll não coinsegue compactar.. (tive pesquisando... e o maximo suportado é realmente 4GB mesmo )....

alguem ai tem algum componente ou alguma outra alternativa.. pra eu solucionar o meu problema ?

KERPLUNK 10/01/2012 16:28:02
#392867
Se não estou enganado, é possível fazer o dump, já compactando o arquivo...
CLAYTON 10/01/2012 19:09:09
#392894
eh uma alternativa... mas


eu adicione mas outros arquivos na compactação..... (alguns .ini, e alguns relatorios personalizados do cliente)..

entao a principio.. teria q ser algum componente ou dll.. q trabalhe bem com arquivos grandes
KERPLUNK 11/01/2012 09:14:59
#392926
Então não é só um dump de banco de dados... precisa organizar isso. Dados é uma coisa, arquivos de configuração e relatórios é outra...
MARCELO.TREZE 11/01/2012 10:10:11
#392943
tente o 7zip

http://7zip.rnbastos.com/

lá no site diz o seguinte:

Suporte a arquivos com tamanhos até 16000000000 GB
EPISCOPAL 11/01/2012 21:12:40
#392993
procure por zlib.dll

http://translate.google.com.br/translate?hl=pt-BR&sl=en&u=http://www.dll-files.com/dllindex/dll-files.shtml%3Fzlib&ei=KBUOT-LsFo3jsQLp1eyYBg&sa=X&oi=translate&ct=result&resnum=1&sqi=2&ved=0CCMQ7gEwAA&prev=/search%3Fq%3Dzlib%2Bdll%26hl%3Dpt-BR%26biw%3D883%26bih%3D603%26prmd%3Dimvns


Como usa-lo:
NAO SEI SE VAI DAR CERTO

Conteudo = CompressString(SeuConteudo, 9, TamanhoEmBytesOriginalDoAquivo)
Coneudo = DecompressString(SeuConteudo, TamanhoEmBytesOriginalDoAquivo)

[txt-color=#e80000]
Private Declare Sub CopyMemory Lib [Ô]kernel32[Ô] Alias [Ô]RtlMoveMemory[Ô] (hpvDest As Any, hpvSource As Any, ByVal cbCopy As Long)
Private Declare Function compress Lib [Ô]zlib.dll[Ô] (dest As Any, destLen As Any, src As Any, ByVal srcLen As Long) As Long
Private Declare Function compress2 Lib [Ô]zlib.dll[Ô] (dest As Any, destLen As Any, src As Any, ByVal srcLen As Long, ByVal level As Long) As Long
Private Declare Function uncompress Lib [Ô]zlib.dll[Ô] (dest As Any, destLen As Any, src As Any, ByVal srcLen As Long) As Long

Public Enum CompressionLevels [ô]for compression/decompression
Z_NO_COMPRESSION = 0
Z_BEST_SPEED = 1
[ô]note that levels 2-8 exist, too
Z_BEST_COMPRESSION = 9
Z_DEFAULT_COMPRESSION = -1
End Enum


Public Function CompressString(Text As String, CompressionLevel As Integer, OriginalSize As Long) As String [ô]Long

[ô]compress a string
Dim lngOrgSize As Long
Dim lngReturnValue As Long
Dim lngCmpSize As Long
Dim strTBuff As String

[ô]Allocate string space for the buffers
lngOrgSize = Len(Text)
strTBuff = String(lngOrgSize + (lngOrgSize * 0.01) + 12, 0)
lngCmpSize = Len(strTBuff)

[ô]Compress string (temporary string buffer) data
lngReturnValue = compress2(ByVal strTBuff, lngCmpSize, ByVal Text, Len(Text), CompressionLevel)

[ô]Crop the string and set it to the actual string.
Text = Left$(strTBuff, lngCmpSize)

[ô]Cleanup
strTBuff = [Ô][Ô]

[ô]return error code (if any)
CompressString = Text [ô]lngReturnValue

End Function

Public Function DecompressString(Text As String, OriginalSize As Long) As String [ô]Long

[ô]decompress a string
Dim lngResult As Long
Dim lngCmpSize As Long
Dim strTBuff As String

[ô]Allocate string space
strTBuff = String(OriginalSize + (OriginalSize * 0.01) + 12, 0)
lngCmpSize = Len(strTBuff)

[ô]Decompress
lngResult = uncompress(ByVal strTBuff, lngCmpSize, ByVal Text, OriginalSize)

[ô]Make string the size of the uncompressed string
Text = Left$(strTBuff, lngCmpSize)

[ô]return error code (if any)
DecompressString = Text [ô] lngResult

End Function[/txt-color]




CLAYTON 16/01/2012 14:30:54
#393340
KERPLUNK >>> quem precisa se organizar eh vc... aprender a ler.. as perguntas....
;...


WOLFFIRE Cara Valeu pela dica, so q essa dll pelo q vi so compacta string.. nao compacta arquivos...



Mas alguem ae usa algum tipo de compactador integrado ao sistema ?
MARCELO.TREZE 16/01/2012 16:20:29
#393361
viu o minha resposta sobre o 7zip
EPISCOPAL 18/01/2012 20:24:13
#393603
Citação:

WOLFFIRE Cara Valeu pela dica, so q essa dll pelo q vi so compacta string.. nao compacta arquivos...



Uai .... vc abre o arquivo grava os dados do arquivo num string, compacta e grava de novo.

tem opção tambem de compactar via bytes ... só que eu naum tenho o codigo aki ..... au to na lan house .. !!!!!


mas pesquisa sobre a dll .... pelo q sei ela e desenolvida em c, tem a te o codigo fonte dela tambemmm
CLAYTON 20/01/2012 12:32:09
#393740
WOLFFIRE >> é inviavel.. eu abrir uma arquivo texto de 6GB.. trazer ele pra memoria.. e ir compactando as string.. isso vai se tornar um processo lento.. e com alto consumo
de memoria...



MARCELO-TREZE
>> to vendo a possiblidade.. o q axo ruim é digamos ter um executavel de terceiro.. tendo q ser instalado... eu preferia uma OCX ou DLL q eu fisse isso..
mas se nao achar nada.. vou ter q usar a sua dica...
Tópico encerrado , respostas não são mais permitidas