Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Not enough disk space
Message
De
04/12/1998 00:01:45
Larry Long
ProgRes (Programming Resources)
Georgie, États-Unis
 
 
À
03/12/1998 18:31:49
Information générale
Forum:
Visual FoxPro
Catégorie:
FoxPro 2.x
Divers
Thread ID:
00163890
Message ID:
00163954
Vues:
16
>>Hi,
>>I have an FPW 2.6 application that works fine as a stand-alone on o local drive running NT 4.0 Workstation. After moving it to a Novell LAN drive, I get the error message 'Not enough disk space' when trying to ZAP a file. The Help contents for this error state that Novell may return this message erroneously if a file has no owner, but checking the files with NDIR shows me as the owner. Does anyone know how to fix this?
>
>There are a couple of causes for this, and more than one sure-fire workaround.
>
>The causes relate to how Novell computes free space, and how much free space is available. FPW uses a Win16 call to get the amount of free space from the server, and stores the amount of free space as a signed integer; if the free space is >2GB, it gets a negative number.
>
>The sure fire workaround is not to use ZAP; DELETE ALL followed by PACK will accomplish the same thing and rebuild your indexes automagically (albeit, slowly.) If you know how all the indexes for the table are built, COPY STRUCTURE can duplicate the DBF structure to another file; erasing the table (and any .FPT and .CDX associated with it) followed by renaming the temporary copy made with COPY STRUCTURE and rebuilding the index files from scratch is faster.
>
>I haven't used FPW in quite a while; if the WITH PRODUCTION clause is supported under FPW, the following will work, too:
>
>
>cMyTableToZap = 'MYTABLE'
>USE (cMyTableToZap)
>COPY STRUCTURE TO TEMP WITH PRODUCTION
>USE TEMP
>COPY TO (cMyTableToZap) WITH PRODUCTION
>
Better yet
USE yourtable
COPY STRU TO tempfile PROD && Copies table structure and cdx
USE
RENAME FILE yourtable.dbf to oldtable.dbf
IF FILE('yourtable.cdx')
RENAME FILE yourtable.cdx to oldtable.cdx
ENDIF
IF FILE('yourtable.fpt')
RENAME FILE yourtable.fpt to oldtable.fpt
ENDIF

RENAME FILE tempfile.dbf to yourtable.dbf
IF FILE('tempfile.cdx')
RENAME FILE tempfile.cdx to yourtable.cdx
ENDIF
IF FILE('tempfile.fpt')
RENAME FILE tempfile.fpt to yourtable.fpt
ENDIF

*Then delete old* after verified
//:^)
L.A.Long
ProgRes
lalong1@charter.net
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform