Runtime Content problem

3494
8
10-22-2015 06:56 AM
TuukkaJarvinen
New Contributor

Hi,

I have created a .geodatabase file that has four tables with geometries and multiple tables without geometry. However, when I call "await Geodatabase.OpenAsync(path)" in my application and check the Geodatabase properties, it only has the four tables with geometries inside FeatureTables property. Should the tables without geometry be visible here too? Or is there some other way to access the tables without geometries inside the Geodatabase?

riihi1633vs.png

When I check the .geodatabase file with SQLite browser, I can see that all tables are created correctly inside the file.

riihi1633sqlite.png

I have tried to create the .geodatabase with Share as Runtime Content function from ArcMap, Create Runtime Content tool from Data Management and also with my own Python script that uses "arcpy.CreateRuntimeContent_management" and all yield same results.

Regards,

Tuukka J

0 Kudos
8 Replies
by Anonymous User
Not applicable

What version of the ArcGIS Runtime SDK for .NET are you using?  I know that this works in 10.2.5 and 10.2.6, but not sure about 10.2.4.

My experience has been with generating the runtime geodatabase through the services pattern and not through desktop tools, so I wonder if there is an issue there as well.

0 Kudos
TuukkaJarvinen
New Contributor

I'm currently using 10.2.5 but I guess I need to try with 10.2.6 next. I only need the data for read-only purposes and I do not have possibility to add global ids and archiving to the tables and therefore I cannot use the service pattern.

0 Kudos
TuukkaJarvinen
New Contributor

I have now tried with 10.2.6 and it made no difference.

However, I was able to see the all tables inside the Geodatabase when I modified the .mxd-document used in creation to only contain one table that has no geometry field. In this case, all tables give "Schema info not found." error. What could possibly cause this?

SchemaNotFound.png

Error.png

0 Kudos
MichaelBranscomb
Esri Frequent Contributor

Hi,

You should see all the tables as long as they were in your ArcMap document (MXD) when you ran the share as Runtime Content tool.

If it works with just one, then it might suggest one of the other tables has some feature or behavior which is not supported in the Runtime.

Is there anything special about the other tables?

Cheers

Mike

0 Kudos
TuukkaJarvinen
New Contributor

I guess there is some problem with the relationship classes. How Runtime Content Creation is supposed to work with them? Are all related tables automatically included in the .geodatabase-file, as it seems that it does not matter if they are added to the .mxd-document or not.

All tables with geometries are working as I expect but the tables with only attribute data are not visible in Geodatabase.FeatureTables property  or they are giving that "Schema info not found" error. I guess it is similar problem to this https://community.esri.com/thread/90518

.

0 Kudos
TuukkaJarvinen
New Contributor

After further inspection I noticed that tables showing in Geodatabase.FeatureTables property is somehow based on the GDB_ServiceItems table in the .geodatabase-file.

If the .mxd-document used in creating the Runtime Content has tables with geometry, these tables are listed on this GDB_ServiceItems table and only them can be used through Geodatabase.FeatureTables property.

However, if the .mxd-document used in creating the runtime content only has attribute tables on it that have relationships to these tables with geometries, GDB_ServiceItems table does not exist inside the .geodatabase-file and all the tables are visible inside the Geodatabase.FeatureTables property. In this case, the tables do not have ServiceInfo and therefore give that "Schema info not found" error.

I can also replicate this by creating Runtime Content with geometry tables that have relationships to attribute tables. After creating the content, I open the Geodatabase and check that only these geometry tables are visible inside FeatureTables property. Then I close my application and open the .geodatabase in SQLite Browser and manually delete all rows inside GDB_ServiceItems. Then I check Geodatabase.FeatureTables  and its null. Then I again open the .geodatabase in SQLite Browser and delete the whole GDB_ServiceItems table and after that when I check Geodatabase.FeatureTables, all the geometry and attribute tables are visible there but do not have ServiceInfo.

Should these attribute tables in .mxd-document also generate rows to this GDB_ServiceItems table inside the .geodatabase?

0 Kudos
TuukkaJarvinen
New Contributor

It seems to work other way around too. Manually adding rows of corresponding attribute tables to GDB_ServiceItems table makes the attribute tables visible in Geodatabase.FeatureTables property.

0 Kudos
TuukkaJarvinen
New Contributor

The actual problem was that I tried creating the runtime content with ArcMap 10.2.1 and 10.2.2. It works okay with ArcMap 10.3.1.

0 Kudos