Author | Topic: Extremely large .FPT files created with DBF/CDX engine | |
---|---|---|
Tim Callahan | Extremely large .FPT files created with DBF/CDX engine on Fri, 20 Apr 2018 15:17:32 -0700 I have an xBase app that creates a table that has memo fields. The table is created by consolidating information from several source tables. When I run the app complied with Clipper 5.2 the resulting .FPT file is about 220 MB. When I run the same app compiled with xBase++ the resulting FPT filel is approximately 20 GB. I have the driver set up as follows in the xBase app: Build DBE DbeLoad( "FOXDBE", .T.) DbeLoad( "CDXDBE",.T.) DbeBuild( "FOXCDX", "FOXDBE", "CDXDBE" ) beSetDefault( "FOXCDX" ) Set up for FOX 2.x and Comix compatability DbeInfo(COMPONENT_DATA, FOXDBE_CREATE_2X, .T. ) DbeInfo(COMPONENT_DATA, FOXDBE_LOCKMODE, FOXDBE_LOCKMODE_CLIPPER) DbeInfo( COMPONENT_ORDER, CDXDBE_MODE, CDXDBE_COMIX ) Any help is much appreciated. | |
Peter Alderliesten | Re: Extremely large .FPT files created with DBF/CDX engine on Sat, 21 Apr 2018 18:57:23 +0200 Tim > I have an xBase app that creates a table that has memo fields. The > table is created by consolidating information from several source > tables. > > When I run the app complied with Clipper 5.2 the resulting .FPT file > is about 220 MB. > > When I run the same app compiled with xBase++ the resulting FPT filel > is approximately 20 GB. Did you check/set the blocksize for the memofield? Peter | |
Tim Callahan | Re: Extremely large .FPT files created with DBF/CDX engine on Tue, 24 Apr 2018 16:22:25 -0700 Thanks for replying I have explicitly set this to 64 (the xBase++ default per the docs) Working with Alaska support on this and will post any results. FWIW it happens on Windows 7 and Windows Server 2016 so I don't think it related to the machine or OS. On Sat, 21 Apr 2018 18:57:23 +0200, Peter Alderliesten wrote: >Tim > >> I have an xBase app that creates a table that has memo fields. The >> table is created by consolidating information from several source >> tables. >> >> When I run the app complied with Clipper 5.2 the resulting .FPT file >> is about 220 MB. >> >> When I run the same app compiled with xBase++ the resulting FPT filel >> is approximately 20 GB. > >Did you check/set the blocksize for the memofield? > >Peter | |
Tim Callahan | Re: Extremely large .FPT files created with DBF/CDX engine on Thu, 26 Apr 2018 10:33:13 -0700 This was user error. In setting up the FOXCDX dbe I had the following: DbeInfo(COMPONENT_DATA, FOXDBE_MEMOBLOCKSIZE, 64) DbeInfo(COMPONENT_DATA, CDXDBE_LOCKRETRY, 1000000) which as erroneously setting the LOCKRETRY on the data component (can't even say how many times I looked at the docs and code and never caught this.) Turns out the MEMOBLOCKSIZE and LOCKRETRY defines have the same numberic value so I was setting a blocksize of 1 million. Oops! Thank you Alaska support! >I have an xBase app that creates a table that has memo fields. The >table is created by consolidating information from several source >tables. > >When I run the app complied with Clipper 5.2 the resulting .FPT file >is about 220 MB. > >When I run the same app compiled with xBase++ the resulting FPT filel >is approximately 20 GB. > >I have the driver set up as follows in the xBase app: > >// Build DBE >DbeLoad( "FOXDBE", .T.) >DbeLoad( "CDXDBE",.T.) >DbeBuild( "FOXCDX", "FOXDBE", "CDXDBE" ) >beSetDefault( "FOXCDX" ) > >// Set up for FOX 2.x and Comix compatability >DbeInfo(COMPONENT_DATA, FOXDBE_CREATE_2X, .T. ) >DbeInfo(COMPONENT_DATA, FOXDBE_LOCKMODE, FOXDBE_LOCKMODE_CLIPPER) >DbeInfo( COMPONENT_ORDER, CDXDBE_MODE, CDXDBE_COMIX ) > >Any help is much appreciated. |