[GIS] How to repair GDB_ITEMS.Definition if fields are missing (GPFieldInfoEx)

arcgis-10.3arcgis-desktopfile-geodatabasefile-geodatabase-api

I read file geodatabase schema of all feature classes by parsing Definition field XML-s from GDB_Items table. I am using ESRI File GDB API. It's main XML element (for feature class) is DEFeatureClassInfo and then under GPFieldInfoExs element information about each field is stored in GPFieldInfoEx element. Example:

<?xml version="1.0" encoding="utf-8"?>
<DEFeatureClassInfo xsi:type="typens:DEFeatureClassInfo" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:typens="http://www.esri.com/schemas/ArcGIS/10.3">
  <CatalogPath>\Constructed_Features\Constructed_Feature_pt</CatalogPath>
  <Name>Constructed_Feature_pt</Name>
  <ChildrenExpanded>false</ChildrenExpanded>
  <DatasetType>esriDTFeatureClass</DatasetType>
  <DSID>67</DSID>
  <Versioned>false</Versioned>
  <CanVersion>false</CanVersion>
  <ConfigurationKeyword></ConfigurationKeyword>
  <RequiredGeodatabaseClientVersion>10.0</RequiredGeodatabaseClientVersion>
  <HasOID>true</HasOID>
  <OIDFieldName>OBJECTID</OIDFieldName>
  <GPFieldInfoExs xsi:type="typens:ArrayOfGPFieldInfoEx">
    <GPFieldInfoEx xsi:type="typens:GPFieldInfoEx">
      <Name>OBJECTID</Name>
      <AliasName>OBJECTID</AliasName>
      <ModelName>OBJECTID</ModelName>
      <FieldType>esriFieldTypeOID</FieldType>
      <IsNullable>false</IsNullable>
      <Required>true</Required>
      <Editable>false</Editable>
    </GPFieldInfoEx>
    <GPFieldInfoEx xsi:type="typens:GPFieldInfoEx">
      <Name>Shape</Name>
      <AliasName>Shape</AliasName>
      <ModelName>Shape</ModelName>
      <FieldType>esriFieldTypeGeometry</FieldType>
      <IsNullable>true</IsNullable>
      <Required>true</Required>
    </GPFieldInfoEx>
...etc.

However for some file GDBs, upgraded from 9.3 version to 10.3, not all fields are listed (under own GPFieldInfoEx element), I see only part of them.

Do you know a way how to repair such file GDBs so definitions include all tables fields?

I tried to add new fields; they are appended, but those missing fields still do not appear.

I also tried to create new file GDB using ArcCatalog 10.3; field edits appear under GPFieldInfoExs correctly.

EDIT: Also tried to export full gdb to XML workspace document with data and import to empty gdb but this did not help.

Best Answer

try this method,I hope It would be helpful and probably solve your problem, The Recover File Geodatabase tool can only recover simple feature classes and tables. Complex data and relationships will not be recovered, Furthermore there is another tools X-Ray sometime you can get help from that for some geodatabase problem or do some changes in database design.

Related Question