![]() |
Wie komprimiere ich eine Datenbank "Paradox" "
Hallo, kann mir irgendjemand sagen wie man eine Datenbank komprimiert?
Bei VB gibt es die Möglichkeit, bei Delphi habe ich bisher nichts gefunden. Ich arbeite zu Zeit an einer Anwendung wo ich feststellte des die Datenbank zu explodieren scheint. In dieser werden zwischen 100 - 200 Datensätze Tägl. gespeichert. Vielen Dank für Eure Mühe Frank |
Re: Wie komprimiere ich eine Datenbank "Paradox" &
paradox kennt einen packbefehl meines erachtens nicht. du kanst es nur folgender maßen machen
tempdb anlegen alle daten in tempdb hauptdb löschen und danach wieder anlegen daten von temp -> haupt und dann temp löschen dringend anzuraten,wenn datenpflege erforderlich ist, auf eine sql-db umzusteigen raik |
Re: Wie komprimiere ich eine Datenbank "Paradox" &
Hallo Frank2269,
diese Funktion sollte Dir weiterhelfen. Der Ursprungscode stammt von Andreas Kosch aus dem Buch Delphi 3 Datenbankentwicklung (ISBN 3-7723-4033-4)
Delphi-Quellcode:
bye
function PackTable(var Table: TTable): Boolean;
var aCURProps: CURProps; aCRTblDesc: CRTblDesc; aHDBIDB: HDBIDB; OldExclusive: Boolean; begin Result := False; with Table do begin OldExclusive := Exclusive; Close; Exclusive := True; Open; Check(DbiGetCursorProps(Handle, aCURProps)); case aCURProps.iSeqNums of // dBASE 0: begin Check(DbiPackTable(DBHandle, Handle, nil, nil, True)); Result := True; end; // Paradox 1: begin Close; FillChar(aCRTblDesc, SizeOf(aCRTblDesc), #0); with aCRTblDesc do begin StrPCopy(szTblName, Table.TableName); bPack := True; iFldCount := 0; end; Check(DbiOpenDatabase(nil, nil, DbiREADWRITE, DbiOpenShared, nil, 0, nil, nil, aHDBIDB)); Check(DbiSetDirectory(aHDBIDB, PChar(Session.NetFileDir))); Check(DbiDoRestructure(aHDBIDB, 1, @aCRTblDesc, nil, nil, nil, False)); Result := True; end; else begin end; end; Close Exclusive := OldExclusive; Open; end; end; |
Re: Wie komprimiere ich eine Datenbank "Paradox" &
das scheint zu gehen. diese variante kannte ich nicht. ich dachte bisher, das die pack methode nur auf dbase verwendet werden kann.
wieder was gelernt :bouncing4: |
Re: Wie komprimiere ich eine Datenbank "Paradox" &
Hallo Duffy,
habe deinen Code probiert Funktioniert einfach klasse. Sollte man in die Codelib aufnehmen. Gruß Frank |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz