Anderes Problem mit zlib [erledigt]

Moderator: Moderatoren

Antworten
psp
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 250
Registriert: Do, 22. Okt 2009 13:42
Kontaktdaten:

Anderes Problem mit zlib [erledigt]

Beitrag von psp »

Hallo,

ich habe auch aktuell ein Problem bei einem Kunden.

Folgende Fehlermeldung erhalte ich hier:

Code: Alles auswählen

------------------------------------------------------------------------------
FEHLERPROTOKOLL von "D:\BDE\ZEIT\PASSBDE.EXE" Datum: 02.09.2010 10:53:42
Xbase++ Version     : Xbase++ (R) Version 1.90.355
Betriebssystem      : Windows Server 2003 05.02 Build 03790 Service Pack 2

Programm            : D:\BDE\ZEIT\PASSBDE.EXE
Version             : 4.13.17 vom 01.07.2010
Rechner             : ******
Speicher            : 1534.00 von 2048.00 MB frei
Festplatte          : (C:)      99843.67 MB frei |   (D:)    190376.10 MB frei
Userinfo            : *******
------------------------------------------------------------------------------
Workspacelist()     :  {"MENU_DBF"}
Alias()             :  leer
Recno()             :  leer
Found()             :  NO
NetError()          :  NO
Select()            :  2
IndexOrd()          :  0
------------------------------------------------------------------------------
WorkSpaceList       : 
MENU_DBF            : NO Record locked
------------------------------------------------------------------------------
ASCOM10.dll         : 1.90.0355
ASCOM10C.dll        : 1.90.0355
AsiNet10.dll        : 1.90.0331
AsiNet1c.dll        : 1.90.0331
AsiUtl10.dll        : 1.90.0331
ASRDBC10.DLL        : 1.90.0355
DBFDBE.DLL          : 1.90.0355
DELDBE.DLL          : 1.90.0355
NTXDBE.DLL          : 1.90.0355
SDFDBE.DLL          : 1.90.0355
USER32.DLL          : 5.2.3790.4033 (srv03_sp2_gdr.070228-0030)
XbtBase1.dll        : 1.90.0331
XBTBase2.dll        : 1.90.0331
XbZLib.dll          : 1.40.094
XPPNAT.DLL          : 1.90.0355
XPPRT1.DLL          : 1.90.0355
XPPSYS.DLL          : 1.90.0355
XPPUI1.DLL          : 1.90.0355
XPPUI2.DLL          : 1.90.0355
ZLib1.dll           : 1.2.3
------------------------------------------------------------------------------
oError:args         :
          -> VALTYPE: N VALUE: 973303435
oError:canDefault   : N
oError:canRetry     : N
oError:canSubstitute: J
oError:cargo        : NIL
oError:description  : Nicht genügend Speicher
oError:filename     : 
oError:genCode      :         15
oError:operation    : space
oError:osCode       :          0  =  Der Vorgang wurde erfolgreich beendet.
oError:severity     :          2
oError:subCode      :       1005
oError:subSystem    : BASE
oError:thread       :          1
oError:tries        :          0
------------------------------------------------------------------------------
CALLSTACK:
------------------------------------------------------------------------------
Aufgerufen von XBZ_FILEREAD(67)
Aufgerufen von XBZLIBZIP:ADDFILE(636)
Aufgerufen von XBZLIBZIP:ADDLIST(575)
Aufgerufen von XBZLIBZIP:ADDDIR(562)
Aufgerufen von WZIP_START(89)
Aufgerufen von (B)WZIP(369)
Aufgerufen von WZIP(419)
Aufgerufen von W65(624)
Aufgerufen von MENUSELECT(1736)
Aufgerufen von (B)MENUCREATE(1446)
Aufgerufen von MAIN(903)
Meine Frage hierzu kann man evtl etwas ändern, damit diese Größenbeschränkung umgangen werden kann? Ich weiß, die Datenbank ist mit knapp 930 MB nicht gerade klein. Aber daran wird sich in der nächsten Zeit nicht wirklich etwas ändern. Ich würde sie trotzdem gerne packen können, damit ich sie platzsparender transportieren kann.
Zuletzt geändert von psp am Mo, 04. Okt 2010 14:40, insgesamt 1-mal geändert.
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: Anderes Problem mit zlib

Beitrag von UliTs »

Hallo PSP,

zippe einzelne Tabellen statt die gesamte Datenbank in einem Rutsch.
Anschließend kannst Du die gezippten Tabellen nochmals zusammen in einer ZIP-Datei zusammenfassen.

Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
psp
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 250
Registriert: Do, 22. Okt 2009 13:42
Kontaktdaten:

Re: Anderes Problem mit zlib

Beitrag von psp »

das Problem hierbei ist, dass die Datenbank, die er mit dieser Größe zippen möchte, bereits eine einzelne Dbase-Datenbank ist

die Datenbank bei dem Kunden ist mittlerweile 968 MB groß und beinhaltet über 860000 Datensätze

über Alternativen würde ich auch mit mir reden lassen
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Anderes Problem mit zlib

Beitrag von brandelh »

Hi,

ich nutze 7z (erhältlich bei Chip), eventuell gibt es dafür eine "Fernsteuerung" oder Kommandozeilen version ?
Es kann schon sein, dass XppZIP bei so großen Dateien die Luft ausgeht.

Ansonsten kannst du natürlich auch selbst die DBF mit den low level Dateifunktionen selbst in kleine Stücke packen und danach zipen und wieder zusammensetzen.
Gruß
Hubert
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Anderes Problem mit zlib

Beitrag von Herbert »

Ich weiss nicht, wo die Grenze liegt. Aber mach doch die .dbf in mehrere Teile

entweder wie Ulit sagt, die Felder aufteilen

Code: Alles auswählen

IF DbCopyStruct("neuertempdateiname",aFelder1)
  IF DbCopyStruct("neuertempdateiname2",aFelder2)
    ....
wobei aFelder1 restp. aFelder2 die herauszuspeichernden Datenbanfelder sind und zusammen wieder alle Felder ergeben
diese dbfs dann zippen

oder die Datenbank als solches teilen

Code: Alles auswählen

copy to (tempfilename) next 10000  
Grüsse Herbert
Immer in Bewegung...
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Anderes Problem mit zlib

Beitrag von AUGE_OHR »

psp hat geschrieben:das Problem hierbei ist, dass die Datenbank, die er mit dieser Größe zippen möchte, bereits eine einzelne Dbase-Datenbank ist
die Datenbank bei dem Kunden ist mittlerweile 968 MB groß und beinhaltet über 860000 Datensätze
es ist zwar "massive Luft" in einer DBF, aber wenn man die Option "-es" verwendet geht es :
a.) viel schneller
b.) wird weniger RAM benötigt
die Kompressionsrate ist dabei dann "unwesentlich" grösser als "normal".

da ich nicht zLib sondern addZIP benutze habe ich keine Ahnung ob die Option unterstützt wird oder sie anders genannt wird.
Die "-es" Option ist die "ursprüngliche" DOS Option die Pkzip, Arj, Lzh, Arc und Co. benutzten.
gruss by OHR
Jimmy
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Anderes Problem mit zlib

Beitrag von Koverhage »

Hallo,

wie Hubert schrieb, ein Kommandozeilenversion wäre das einfachste,

Ich benutze zum Teil WinRAR, welches aber in der Kommandozeilenversion
keine ZIP Dateien erstellen kann.
Gruß
Klaus
J.Renseler
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 151
Registriert: Do, 15. Nov 2007 11:40
Wohnort: Krefeld
Kontaktdaten:

Re: Anderes Problem mit zlib

Beitrag von J.Renseler »

Hallo,

also wir haben bis vor kurzem auch große Datenbank mit zLib gepackt, ohne Probleme. (Auch Datenbanken > 1GB).

Tritt das ganze evtl. nur auf einem Rechner auf?

Gruß,
Jannik
Kassensysteme für den Einzelhande http://ab-software.de
Mitglied der XUG-Cologne http://www.xug-cologne.de
psp
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 250
Registriert: Do, 22. Okt 2009 13:42
Kontaktdaten:

Re: Anderes Problem mit zlib

Beitrag von psp »

Auf meinem Windows 7 64 Bit-PC (Core2Duo mit 2,13 GHz, 2 GB RAM) wie auch bei dem Kunden selbst auf einem Windows 2003 Server (mit einem Intel Quad-Core mit 2,4 GHz, 4 GB RAM) kommt die selbe Fehlermeldung. Windows XP reagiert genauso mit einem Fehler darauf.

Ich würde mir alternative Packer ansehen. Wie sieht das mit addZip aus? Bezugsquelle?

7-Zip könnte ich mir auch noch mal ansehen, wobei ich bisher von den "schwarzen Fenstern" verschont geblieben bin und trotzdem eine Ausgabe für den Kunden über den Status des Packens hatte.
psp
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 250
Registriert: Do, 22. Okt 2009 13:42
Kontaktdaten:

Re: Anderes Problem mit zlib

Beitrag von psp »

Wie ich gerade gesehen habe, hat Andreas den Link zur aktuellsten Version von XbZLIB aktuallisiert, gleich mal aktualisiert, übersetzt und Testlauf. Das Ergebnis war erfolgreich. Damit hat sich das Thema fürs erste erledigt. Bis die 4GB erreicht werden, haben wir ja noch Platz. Aber bis dahin geschieht strukturell noch etwas.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Anderes Problem mit zlib

Beitrag von brandelh »

Hi,

ich nutze XbZLib20.zip, vor kurzem hat Martin einen Link zu einer neuen Version veröffentlicht.
Diese Bibliothek leistet mir gute Dienste.
Gruß
Hubert
psp
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 250
Registriert: Do, 22. Okt 2009 13:42
Kontaktdaten:

Re: Anderes Problem mit zlib

Beitrag von psp »

Ich hatte noch die Bibliothek und die XbZLIB-Klasse aus dem Jahr 2006 in Benutzung.
Benutzeravatar
azzo
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 483
Registriert: So, 28. Mär 2010 19:21
Danksagung erhalten: 11 Mal

Re: Anderes Problem mit zlib [erledigt]

Beitrag von azzo »

Auch ich nutze 7Z und rufe die exe mit WAITRUN auf.

Gruß
Otto

Code: Alles auswählen

 
//adds all files and subfolders from folder subdir to archive archive.zip.

DCOM  := '7z a -tzip ' + cWHBackup + "\AUTO\GESAMT_" + STRDatum + "\" + Praefix + cDocNr +   '.zip' +;
   '  -ir!' + cSrc + '\*.*' + ;
   ' -xr!' + cSrc + '\*.exe' + ;
   ' -xr!' + cSrc + '\*.Manifest' +;
   ' -xr!' + cSrc + '\*.dll' +;
   ' -xr!' + cSrc + '\*.cdx' +;
   ' -xr!' + cSrc + '\*.dbu'
        
WAITRUN(DCOM,0)
     
---------------------------------------------------     
//  x: eXtract files with full paths
    
     
DCOM := '7Z.exe x ' + cDst + "\temp.zip" + " -o" +  cDst  + " *.* -r"

WAITRUN(DCOM,0)
SYSREFRESH()     
   
   
   
   
   /*
7-Zip 4.57  Copyright (c) 1999-2007 Igor Pavlov  2007-12-06

Usage: 7z <command> [<switches>...] <archive_name> [<file_names>...]
       [<@listfiles...>]

<Commands>
  a: Add files to archive
  b: Benchmark
  d: Delete files from archive
  e: Extract files from archive (without using directory names)
  l: List contents of archive
  t: Test integrity of archive
  u: Update files to archive
  x: eXtract files with full paths
<Switches>
  -ai[r[-|0]]{@listfile|!wildcard}: Include archives
  -ax[r[-|0]]{@listfile|!wildcard}: eXclude archives
  -bd: Disable percentage indicator
  -i[r[-|0]]{@listfile|!wildcard}: Include filenames
  -m{Parameters}: set compression Method
  -o{Directory}: set Output directory
  -p{Password}: set Password
  -r[-|0]: Recurse subdirectories
  -scs{UTF-8 | WIN | DOS}: set charset for list files
  -sfx[{name}]: Create SFX archive
  -si[{name}]: read data from stdin
  -slt: show technical information for l (List) command
  -so: write data to stdout
  -ssc[-]: set sensitive case mode
  -ssw: compress shared files
  -t{Type}: Set type of archive
  -v{Size}[b|k|m|g]: Create volumes
  -u[-][p#][q#][r#][x#][y#][z#][!newArchiveName]: Update options
  -w[{path}]: assign Work directory. Empty path means a temporary directory
  -x[r[-|0]]]{@listfile|!wildcard}: eXclude filenames
  -y: assume Yes on all queries

*----------------------------------------------------------
Antworten