Size INCREASE when Importing FoxPro via ODBC ???

  • Thread starter kev100 via AccessMonster.com
  • Start date
K

kev100 via AccessMonster.com

I'm needing to import a Visual Fox Pro Table into Access. I'm using ODBC.

The table itself is about 775 MB with around 1.7 million records.

When I import it....it will appear to be going through the process (about 3-5
minutes will pass). Then, an error will occur.

The error is: "Invalid Argument"

Looking through some other posts....others report that it may be due to size.
I understand that Access has a 2 GB limit. However, the FoxPro table is only
775 MB.

Does the Import process (via ODBC) increase the size of the source table
substantially....causing it to increase beyond the 2 GB limit?

....or may this error be resulting from something else.

Thanks very much.
 
G

Guest

It could be that FoxPro is much more efficient in storing data. Also Access
could be creating indexes for the data and these indexes will also take up
space. Consider creating the tables in advance and removing all indexes
except for the primary key. See if that helps.

Oh. If the FoxPro files are storing any graphics like employee photos,
Access it very inefficient in storing things like BMPs, JPGs, etc. It can
double, triple, or even worse the size of the graphics.
 
B

bob

Oh. If the FoxPro files are storing any graphics like employee photos,
Access it very inefficient in storing things like BMPs, JPGs, etc. It can
double, triple, or even worse the size of the graphics.

Access is not inherently inefficient at storing binary data such as images - this is a widely misunderstood
myth. It is specifically OLE Embedding (and linking) that cause the huge overhead (which, in the case
of JPEG, is typically between 20 and 100 times the size).

Copying or importing binary data from another database to Access would not cause the items to somehow become
OLE Embedded; image data would remain as binary data, so there would be no growth in comparative size due
to this.
 
B

bob

Another thought:

It could be that text fields in your existing database are all carefully configured to suitable (short)
lengths, but the fields in the new Access db use the default or maximum lengths of 50 or 255 characters.


There could also be an ASCII to Unicode string conversion overhead, which could double the size (though
this alone would not cause you to exceed the Access size limit, given the total size you mentioned).
 
D

Douglas J. Steele

bob said:
Another thought:

It could be that text fields in your existing database are all carefully
configured to suitable (short)
lengths, but the fields in the new Access db use the default or maximum
lengths of 50 or 255 characters.

Text fields in Access only take up as much space as is required: the 50 or
255 represents a maximum length, not a reserved number of bytes.

It's easy to prove this. A record cannot exceed 2000 bytes, but you can
easily have 20 text fields, each of maximum length 255 bytes. It's only once
you've put enough data into any combination of those 20 fields to exceed the
maximum row size that you'll get an error.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top