COMPACTACAO DE ARQUIVOS GRANDES
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 ?
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 ?
Se não estou enganado, é possÃvel fazer o dump, já compactando o arquivo...
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
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
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...
tente o 7zip
http://7zip.rnbastos.com/
lá no site diz o seguinte:
Suporte a arquivos com tamanhos até 16000000000 GB
http://7zip.rnbastos.com/
lá no site diz o seguinte:
Suporte a arquivos com tamanhos até 16000000000 GB
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]
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]
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 ?
;...
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 ?
viu o minha resposta sobre o 7zip
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
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...
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