I also am experiencing a similar problem.
I too am running Office 2010 x64 w/ Access on Win 7 x64 on about 600k-row table,
I already modified these registry entries:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Access Connectivity Engine\Engines\ACE\MaxLocksPerFile
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Access Connectivity Engine\Engines\Jet 3.x\MaxLocksPerFile
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Jet\4.0\Engines\Jet 3.x\MaxLocksPerFile
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Jet\4.0\Engines\Jet 4.0\MaxLocksPerFile
I set them all to 1000000000. The change-data-type seemed to work longer, almost got done, but returned the same "error."
I'm wondering whether increasing the LockDelay key or LockRetry key would do the trick, but I'm afraid to mess with it too much.
The idea that my system might be low on resources is... Just plain wrong, I'm not even using a third of my available RAM, a quad-core 9550, and I have a lot of space left on my 1TB hard drive (I'm not trying to show-off here, just saying that my system is
half-decent, so it is able to handle whatever "lock" number you throw at it.)
The whole notion that if we have a big database, we should somehow circumvent the features that Access provides is practical - but not for Microsoft. Why not just use some MySQL no-interface query console if we have to run append queries in order to tackle
large databases? What's the whole point in this nice, user-friendly interface if we can't use it?
I guess I'll go back and to this via query, but this should be a big hint-hint for Microsoft what to patch up in their Office 2010.
To jesbuddy07: you can actually just make a separate column in your table, name it something like <short whateverhaveyou>, set the text length to what you need (make sure it's enough to get all of the longer text entries in) and run the
following simple UPDATE query:
UPDATE [put Table Name Here] SET [short whateverhaveyou] = [whateverhaveyou];
In order to do more complex type conversions (i.e. you have a Y/N column with text entries and you want to convert it to Yes/No format), you can use something like
UPDATE [Some Table] SET [bindata whateverhaveyou] = 1 WHERE [textdata whateverhaveyou] = 'Y';
,and the like. You can probably easily extrapolate on how to adapt this to multiple conversion types.