Question

How to get a dynamic schema in FeatureReader when using File Geodb format?


Badge +8

I have to read and process features in several File GeoDatabases and was going to use the FeatureReader to do so. I expect not more then a single feature class in each gdb, and you can see the parameters dialog in the following.

 

FeatureReader ParametersIt does not matter if I change the output ports from 'Single Output Port' to 'One per Feature Type', all the features in the feature class are read, but their attribute table only returns a single column, labeled <no schema>, while the Schema output port of the FeatureReader contains the structure of the initiator, and an attached ListExploder shows the correct schema. Yet, I do not get any attributes of the objects, due to <no schema>.

 

How do I get the proper schema of the GDBs returned, so that I have the correct attribute values to work further?


3 replies

Userlevel 2
Badge +17

Hi @Thomas Becker​,

After you set the Output Ports to 'One per Feature Type', please check the Regenerate box, which will re-read the source dataset to generate the feature type schemas on the FeatureReader ports.

 

Badge +8

Hi @daveatsafe​,

thanks for your suggestion! It still does not work.

When setting the Output Ports to 'One per Feature Type' I have to supply the Dataset in the following dialog, and @Value(output) - what I used in the properties dialog of the FeatureReader is rejected:

 

Creating reader for format: Esri Geodatabase (File Geodb)Trying to find a DYNAMIC plugin for reader named `GEODATABASE_FILE'

FME API version of module 'GEODATABASE_FILE' matches current internal version (3.8 20210302)

Unable to connect to the File Geodatabase at '@Value(output)'. Make sure the correct filename was specified, and that the geodatabase wasn't saved with a newer version of ArcGIS than the one installed locally. The error number from ArcObjects is: '-2147024893'. The error message from ArcObjects is: {}

Failed to obtain any schemas from reader 'GEODATABASE_FILE' from 1 datasets. This may be due to invalid datasets or format accessibility issues due to licensing, dependencies, or module loading. See logfile for more information

Failed to obtain any schemas from reader 'GEODATABASE_FILE' from 1 datasets. This may be due to invalid datasets or format accessibility issues due to licensing, dependencies, or module loading. See logfile for more information

Failed to read schema features from dataset '@Value(output)' using the 'GEODATABASE_FILE' reader

 

 

Running the workspace anyway leads again to a single empty column at the 'Generic' output port

Userlevel 2
Badge +17

Hi @daveatsafe​,

thanks for your suggestion! It still does not work.

When setting the Output Ports to 'One per Feature Type' I have to supply the Dataset in the following dialog, and @Value(output) - what I used in the properties dialog of the FeatureReader is rejected:

 

Creating reader for format: Esri Geodatabase (File Geodb)Trying to find a DYNAMIC plugin for reader named `GEODATABASE_FILE'

FME API version of module 'GEODATABASE_FILE' matches current internal version (3.8 20210302)

Unable to connect to the File Geodatabase at '@Value(output)'. Make sure the correct filename was specified, and that the geodatabase wasn't saved with a newer version of ArcGIS than the one installed locally. The error number from ArcObjects is: '-2147024893'. The error message from ArcObjects is: {}

Failed to obtain any schemas from reader 'GEODATABASE_FILE' from 1 datasets. This may be due to invalid datasets or format accessibility issues due to licensing, dependencies, or module loading. See logfile for more information

Failed to obtain any schemas from reader 'GEODATABASE_FILE' from 1 datasets. This may be due to invalid datasets or format accessibility issues due to licensing, dependencies, or module loading. See logfile for more information

Failed to read schema features from dataset '@Value(output)' using the 'GEODATABASE_FILE' reader

 

 

Running the workspace anyway leads again to a single empty column at the 'Generic' output port

Hi @Thomas Becker​,

When that dialog comes up, please navigate to a source GDB so it can read the schema. At the design stage of the workspace, there are no features that the FeatureReader can get the value of output from, so you need to supply a sample GDB for it to get the schema from. This will not change the source setting in the FeatureReader.

Reply