1 GB file size limit for Access 2000 / MS Jet 3.5

H

Herb

I'm not sure whether this is the right newsgroup for my question/issue.
If it isn't, please advise of an alternative newsgroup, thank you.

My main translation memory software (Déjà Vu 3 from Atril - see
www.atril.com) is based on MS Access 2000 and MS Jet 3.5.

I understand the file size limit for Access 2000 / MS Jet 3.5 is 1 GB.

The size of one of my databases is getting dangerously close to this
limit - you can read about a recent alarming experience here:
<http://tech.groups.yahoo.com/group/dejavu-l/message/76344>

I would like to find out what exactly happens when the limit is reached.

Thank you.

Herbert Eppel
 
B

Brendan Reynolds

Access 2000 uses JET 4.0, not JET 3.5x. JET 4.0 has a capacity of 2GB, not
1GB.
 
G

Guest

Hi Herb,
I understand the file size limit for Access 2000 / MS Jet 3.5 is 1 GB.
Not true for Access 2000. Correct for JET 3.5.

It is not clear to me whether you are using JET 3.5 or JET 4.0. Indeed JET
3.5, native to Access 97, has a 1 GB limit. Access 2000/2002/2003, which all
use JET 4.0, has a 2 GB limit. However, due to the introduction of Unicode in
JET 4, you cannot expect to store double the amount of data vs. a JET 3.5x
database.

What exactly are you importing? From the hyperlink you provided, I read the
following: "Yesterday I imported a fairly large TM provided by a client,
....". Is TM a Training Manual? Or possibly Translation Memory, whatever that
is, ie. "My main translation memory software". As you can see from this
link, there are lots of possible meanings:

http://www.acronymfinder.com/af-query.asp?acronym=TM&string=exact&s=r&page=1

Does this involve an OLE Object data type? If so, perhaps you should be
linking to the file, instead of attempting to import it. There are also more
efficient methods available of importing this data instead of relying on OLE
embedding technology, which is the only thing you get when using the user
interface to import.
I would like to find out what exactly happens when the limit is reached.

I hope you have a good back-up copy! You could very easily end up with a
corrupted database. I do not recommend testing fate like this.

I also read about how it was suggested that you create a netlogon.bat file
with a command to determine the file size. Have you tried using the built-in
FileLen function in Access? I'm not sure if it is available in Access 97 or
2000, but it is certainly present in Access 2002. From the Immediate Window,
you can issue the following command:

?FileLen(Currentdb.Name)

Thus, it seems to me that you could use this function, if it is available in
your version of Access, in a startup routine to test the file size, instead
of just relying on a test each time you log on.

What about the possibility of linking to one or more external databases?
Perhaps you can spread some of the data amongst one or more linked tables, in
separate databases. You've also got the free SQL Server Express edition
available, which has a higher capacity (I'm not positive, but I think it
might be 4 GB). Or use a MySQL BE, or....


Tom Wickerath
Microsoft Access MVP

http://www.access.qbuilt.com/html/expert_contributors.html
http://www.access.qbuilt.com/html/search.html
__________________________________________
 
H

Herb

Access 2000 uses JET 4.0, not JET 3.5x. JET 4.0 has a capacity of 2GB, not
1GB.

Sorry, I got confused - the software I use is in fact based on Access 97.

You may well ask why I don't upgrade to a later version of the software,
but I have good reasons for not upgrading for the foreseeable future.

In any case, the later version is significantly more complex and
generates larger files, and sooner or later the same question would
arise about the 2 GB limit!

Regards

Herbert Eppel
 
H

Herb

It is not clear to me whether you are using JET 3.5 or JET 4.0. Indeed JET

Many thanks for your comprehensive reply.

Sorry, I got confused - it is Access 97, JET 3.5
3.5, native to Access 97, has a 1 GB limit. Access 2000/2002/2003, which all
use JET 4.0, has a 2 GB limit. However, due to the introduction of Unicode in
JET 4, you cannot expect to store double the amount of data vs. a JET 3.5x
database.

Indeed. Some time ago I did some tests with the later version of my
DejaVu software, and the same amount of data seemed to take up about
twice the space!
What exactly are you importing? From the hyperlink you provided, I read the
following: "Yesterday I imported a fairly large TM provided by a client,
...". Is TM a Training Manual? Or possibly Translation Memory, whatever that
is, ie. "My main translation memory software".

Thanks for reading the message in the link I provided. Yes, the context
is Translation Memory software/databases.

In this particular case the format of the Translation Memory file I
Does this involve an OLE Object data type? If so, perhaps you should be
linking to the file, instead of attempting to import it. There are also more
efficient methods available of importing this data instead of relying on OLE
embedding technology, which is the only thing you get when using the user
interface to import.

I'm not familiar with OLE, sorry. In any case, regarding import methods
I think I am limited to using what is offered by my DejaVu software.
I hope you have a good back-up copy! You could very easily end up with a
corrupted database. I do not recommend testing fate like this.

Yes, unfortunately I have some experience with database corruption, and
I do have a backup strategy (although it is not as robust as it
could/should be!)

Talking about database corruption, is it really true that the only way
of verifying the integrity of a database is to try and compact and
repair it and watch for errors??? See
I also read about how it was suggested that you create a netlogon.bat file
with a command to determine the file size. Have you tried using the built-in
FileLen function in Access? I'm not sure if it is available in Access 97 or
2000, but it is certainly present in Access 2002. From the Immediate Window,
you can issue the following command:

?FileLen(Currentdb.Name)

Thus, it seems to me that you could use this function, if it is available in
your version of Access, in a startup routine to test the file size, instead
of just relying on a test each time you log on.

The netlogon.bat routine suggested by Pegasus in
microsoft.public.win2000.general a while back works very well for me,
but thanks for the suggestion.

However, I'm not familiar with the "Immediate Window" and I don't know
whether it is available in Access 97. In any case, I'm not using Access
97 directly, i.e. while the DejaVu database format is based on Access
97, I'm not sure I could modify my DejaVu databases manually to
introduce the FileLen command. In any case, unless I am missing
something, in practice there probably wouldn't be that much difference
to the netlogon.bat routine, because I usually start DejaVu as soon as I
log on and then have it running more or less all day.
What about the possibility of linking to one or more external databases?
Perhaps you can spread some of the data amongst one or more linked tables, in
separate databases. You've also got the free SQL Server Express edition

The later version of DejaVu does indeed offer the option of 2 databases,
and there is also a more expensive "Workgroup" edition that offers scope
for up to 5 databases, I think.

However, for the time being I am limited to the older version of DejaVu
for a number of reasons.
available, which has a higher capacity (I'm not positive, but I think it
might be 4 GB). Or use a MySQL BE, or....

Sounds good, but again, as far as I am aware I am limited to the
database manipulation options available within DejaVu, i.e. I don't
think I could use external database manipulation software, although I
would, of course, be pleased to be told otherwise :)

Regards

Herbert Eppel
 
B

Brendan Reynolds

Well if you are using JET 3.5x, then yes, you are indeed limited to 1GB. I
have never personally experienced what happens when you hit the limit, but
from previous reports in the newsgroups it appears the file becomes
unusable.
 
J

John W. Vinson

Sounds good, but again, as far as I am aware I am limited to the
database manipulation options available within DejaVu, i.e. I don't
think I could use external database manipulation software, although I
would, of course, be pleased to be told otherwise :)

Sounds like you really need to deal with the DejaVu people to resolve
this problem. If you're stuck with a JET 3 backend, and not using the
Access frontend, you don't seem to have much leeway!

John W. Vinson [MVP]
 
T

Tony Toews [MVP]

Herb said:
I would like to find out what exactly happens when the limit is reached.

If I recall correctly the message is "Invalid argument" Trouble is
that this message can also mean corruption. The other trouble is
that you might not be able to compact your way out of the above
message. That is once you hit that limit your MDB may not be
recoverable.

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
 
H

Herb

Well if you are using JET 3.5x, then yes, you are indeed limited to 1GB. I
have never personally experienced what happens when you hit the limit, but
from previous reports in the newsgroups it appears the file becomes
unusable.

Thanks for your feedback, but I'm curious about what *exactly* happens
when the 1 GB barrier is breached!

Herbert Eppel
 
H

Herb

Sounds like you really need to deal with the DejaVu people to resolve
this problem. If you're stuck with a JET 3 backend, and not using the
Access frontend, you don't seem to have much leeway!

Yes, sure - I wasn't really looking for a solution as such here, but I'm
curious about what *exactly* happens when the 1 GB barrier is breached.

Herbert Eppel
 
H

Herb

If I recall correctly the message is "Invalid argument" Trouble is
that this message can also mean corruption. The other trouble is
that you might not be able to compact your way out of the above
message. That is once you hit that limit your MDB may not be
recoverable.

Thanks for your feedback.

I did some tests today, and the results are quite interesting. I'll
report back when I have the full picture.

Regards

Herbert Eppel
 
G

Guest

Hi Herb,

Lessons learned:
1. Don't be fooled into thinking your databases are OK just because they
appear to be OK. To be sure, repair the database in DejaVu. If the
repair succeeds, then the database is not corrupted in any serious way.

I would modify the last sentence by adding: ...."that you know of" or "that
are apparent". In other words, the fact that you can compact and repair a
database is no guarantee that a database is not corrupted in a serious way. I
certainly wouldn't want to place a bet otherwise.


Tom Wickerath
Microsoft Access MVP

http://www.access.qbuilt.com/html/expert_contributors.html
http://www.access.qbuilt.com/html/search.html
__________________________________________
 
H

Herb

Hi Herb,




I would modify the last sentence by adding: ...."that you know of" or "that
are apparent". In other words, the fact that you can compact and repair a
database is no guarantee that a database is not corrupted in a serious way. I
certainly wouldn't want to place a bet otherwise.

Thanks for your quick reply.

In other words, the situation is even worse/less confidence-inspiring
than I had assumed?

And there really is no way/tool for detecting database corruption reliably?

Regards

Herbert Eppel
 
G

Guest

Hi Herb,
And there really is no way/tool for detecting database corruption reliably?

Not that I've ever heard of. Consider what Peter Miller states in message #
11, here:

http://groups.google.com/group/micr..._frm/thread/93e2fe8b9c382b23/28e0751a3e3b11f6

<Begin Quote>
2) try to repair the file. If success is reported, still *do not trust* the
repaired file.

3) To ensure corruption is not present in the data in a db that does not
actually report corruption, you can try simply looping code that
i) getting a record count from each table
(ie, using a query like 'select count(*) from " & tablename)
ii) opens an editable recordset on each table and tries to jump
to the last record
iii) opening a recordset on each table with memo fields and
searching for any particular value (it doesn't matter what the
value is - the point is the search, not the results).

<End Quote>

Peter Miller is known in the industry for his skill in recovering corrupt
JET databases, so much so that Microsoft lists his company, PK Solutions, in
this KB article, in the section sub-titled "Data Recovery":

How to troubleshoot corruption in a Microsoft Access database
http://support.microsoft.com/kb/306204

If you want to learn as much as you can about this topic, I suggest reading
everything you can find that Peter has posted. Here is a link to get you
started:

http://groups.google.com/groups?as_...81&as_maxd=11&as_maxm=3&as_maxy=2007&safe=off



Tom Wickerath
Microsoft Access MVP

http://www.access.qbuilt.com/html/expert_contributors.html
http://www.access.qbuilt.com/html/search.html
__________________________________________
 
H

Herb

Tom,

thanks for your further reply and for the links.

Yes, bearing in mind that this Translation Memory software I'm using is
absolutely fundamental for my work, I better spend some time reading up
on JET database issues!

Thanks for your help.

Herbert Eppel
www.HETranslation.co.uk
 
D

David W. Fenton

Herb said:
Thanks for the additional links.

I think you're overly concerned about corruption. My clients don't
have corruption. In the last year I can think of only one such case,
and the database was not corrupted, just flagged suspect.

This has the been the experience of most of the developers around
here, that if you make sure the operating environment is safe
(proper hardware, networking and the right service packs for Access
and Jet), then you just don't ever experience corruption.

That said, it's crucial to have backup and maintenance routines in
place, and *working* (i.e., you've tested that the results are
usable). I have some clients who use FMS's agent software that
archives a backup and then compacts the back end each night.
 

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