By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
426,034 Members | 1,714 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 426,034 IT Pros & Developers. It's quick & easy.

DAO 3035 error, update problem under Windows XP x64; "system resource exceeded"

P: n/a
I get a run-time error 3035 ("system resources exceeded") running DAO code
in XP x64 that works fine under 32-bit XP. It updates 405,000 records.

Dim dbs as DAO.Database
If dbs=Nothing Then Set dbs=CurrentDb()
DAO.DBEngine.BeginTrans
dbs.Execute "UPDATE tblFoo SET [fldFoo]= [fldFoo] + 50;",
dbFailOnError '<<<<<< FAILS ON THIS LINE
DAO.DBEngine.CommitTrans

I've already set the registry to allow this update (the crucial one being
MaxLocksPerFile, which is set to hex 16e360 (=1,500,000 records, much more
than the 400,000 records I'm updating):

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engi nes\Jet 4.0]
"PageTimeout"=dword:00001388
"LockRetry"=dword:00000014
"MaxBufferSize"=dword:00000000
"Threads"=dword:00000006
"ExclusiveAsyncDelay"=dword:000007d0
"SharedAsyncDelay"=dword:00000032
"FlushTransactionTimeout"=dword:000001f4
"MaxLocksPerFile"=dword:0016e360
"LockDelay"=dword:00000064
"RecycleLVs"=dword:00000000
"PagesLockedToTableLock"=dword:00000000
"UserCommitSync"="yes"
"ImplicitCommitSync"="no"

I can do the update manually with a query (after clicking ok to the message
about insufficient resources to rollback this update), but I can't do it
with code. (I know I can call a query to do an update but I don't want to
have to have a query for every field I update in the table, as opposed to
dynamic Sql--also, this error says something is not right with my setup in
x64.)

I appreciate any thoughts on what's wrong.

Nov 13 '05 #1
Share this Question
Share on Google+
1 Reply


P: n/a
Never mind--I solved the problem. I forgot about the registry changes in
x64. The Jet 4.0 settings have to be changed under the WOW64 key to have an
effect.

"Manuel Lopez" <ma******************************@deadspam.com> wrote in
message news:aJ******************************@comcast.com. ..
I get a run-time error 3035 ("system resources exceeded") running DAO code
in XP x64 that works fine under 32-bit XP. It updates 405,000 records.

Dim dbs as DAO.Database
If dbs=Nothing Then Set dbs=CurrentDb()
DAO.DBEngine.BeginTrans
dbs.Execute "UPDATE tblFoo SET [fldFoo]= [fldFoo] + 50;",
dbFailOnError '<<<<<< FAILS ON THIS LINE
DAO.DBEngine.CommitTrans

I've already set the registry to allow this update (the crucial one being
MaxLocksPerFile, which is set to hex 16e360 (=1,500,000 records, much more
than the 400,000 records I'm updating):

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engi nes\Jet 4.0]
"PageTimeout"=dword:00001388
"LockRetry"=dword:00000014
"MaxBufferSize"=dword:00000000
"Threads"=dword:00000006
"ExclusiveAsyncDelay"=dword:000007d0
"SharedAsyncDelay"=dword:00000032
"FlushTransactionTimeout"=dword:000001f4
"MaxLocksPerFile"=dword:0016e360
"LockDelay"=dword:00000064
"RecycleLVs"=dword:00000000
"PagesLockedToTableLock"=dword:00000000
"UserCommitSync"="yes"
"ImplicitCommitSync"="no"

I can do the update manually with a query (after clicking ok to the
message about insufficient resources to rollback this update), but I can't
do it with code. (I know I can call a query to do an update but I don't
want to have to have a query for every field I update in the table, as
opposed to dynamic Sql--also, this error says something is not right with
my setup in x64.)

I appreciate any thoughts on what's wrong.


Nov 13 '05 #2

This discussion thread is closed

Replies have been disabled for this discussion.