1

In my company I am working with ArcGIS for Dektop on my PC with data stored at the company server (mapped path). I have trouble working with File-GDBs:

  • I can not import data to the GDB (only an empty FeatureClass is imported; Error:

Error exporting data. Invalid function arguments Invalid function arguments Cannot acquire a lock. [GDB_Items] Cannot acquire a lock. The table was not found. [FeatureClassName] The table was not found. [FeatureClassName] The table was not found. [FeatureClassName] The table was not found. [FeatureClassName]

  • I can not add fields (rare) nor calculate fields (often); Error:

    Could not load data from the source. If you can correct the problem, press the refresh button to reload data. Possible problems can include bad network connection, invalid field, etc. Cannot acquire a lock. Cannot acquire a lock. Das Gleichheitszeichen zwischen Attribut und Attributwert fehlt.

The last sentence is German and means: The equals sign between attribute and attribute value is missing. However, I do everything right. If The GDB is on my PC (C:) everything works fine. I read somewhere, that this might be through a mix of mapped pathnames and UNC pathnames within a single mxd. However, I only have one kind of pathname (https://geonet.esri.com/thread/89084). I acctually have only one GDB in my MXD. Any suggestions?

I am currently using ArcGIS 10.4.1, but I had the problem before aswell (using 10.3).

Edit: Currently, I am the only user of the GDB and MXD. Once I approve the GDB, several people need reeding access to it. The errors I mentioned, occur most of the time after that procedure:

  • I start Windows
  • I start my MXD, which uses one GDB on the server
  • I add a field (often but not always that works)
  • I calculate the field
  • I get the error message and cannot see the table anymore (it's emty now); the calculation worked, but I need to close and reload the table to see that.

I use Feature Datasets, but the errors occur in GDBs w/o Feature Datasets aswell. I am aware that there is a significant performance benefit to having FGDB data on the local filesystem. However, as other people need to have access to that data I don't see any other option to the server-option, which I am using for several years now. It always worked fine until now.

  • 1
    This behavior is consistent with design. File geodatabase is not intended to be multi-writer, so read locks will prevent changes while any user has the database open for read access. It is best practice to avoid network access of file geodatabase data. There is a significant performance benefit to having FGDB data on the local filesystem. Needlessly using feature datasets can also cause lock escalation. Please edit your question to clarify how many users (or Server services) are accessing the locked data, and what procedure you use to achieve isolation for structural changes. – Vince Jun 8 '16 at 10:13
  • @Vince Thanks for your comment. I added some information on the number of users and what I do. I am not so sure what you mean by "procedure you use to achieve isolation for structural changes". Could you clarify that, please? – Alex Jun 8 '16 at 11:50
  • 1
    How do you prevent users from opening data you want to change? It sounds like your FGDB is just corrupted (which also happens with network-based sources). – Vince Jun 8 '16 at 12:05
  • @Vince I don't prevent users from opening data I want to change. But I know for sure nobody is. The problem also occurs when I create a new GDB, add a new FC, add a field there and calculate it. Maybe it is because of the network, but I wonder why it has been working fine for the last three years. And how I can get it to work again. – Alex Jun 8 '16 at 12:18
1

According to ESRI, there was a problem with the refresh default of Windows 7. The documentation to this problem can be found here: http://support.esri.com/technical-article/000012722

In short:

  1. open the Start menu (administrator) and type regedit.exe -> open the Registry Editor
  2. go to registry key: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Lanmanworkstation\Parameters
  3. check for DirectoryCacheLifetime
  4. if it does not exist, create a new DWORD called DirectoryCacheLifetime
  5. modify the DWORD value to be 0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.