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

M

Manuel Lopez

(sorry for the duplicate post--I had trouble cross-posting.)

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\Engines\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.
 
M

Manuel Lopez

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.
 
Top