Our current deployed implementation uses ArcObjects in Delphi to modify the connection information via work spaces (I assume something similar might be the case for the .NET runtime). When the application installs the map, it walks through the layers and alters the connection info for each one using an SDE database connection and points them to the correct database for our clients.
Now, we want to drop ArcObjects and move to a .NET solution using the Runtime SDK. Especially since it supports x64 and we deal with a lot of data and have issues with performance due to that. To do some of the functionality, I've had to build a model as a geoprocessing model, and exported it as a geoprocessing runtime package. This package uses an SDE SQL server connection to an event table in our database.
This package works well when I tell the package to include enterprise data. When I try exclude enterprise data, it gives me an error (General function failure ERROR: 9999999: Error executing function).
So I have questions regarding this:
- If I check "Include Enterprise Geodatabase data instead of referencing the data", will that include a copy of the data from the database?
If yes: That's a big problem for us as this data can change (depending on the client, this can be frequent). Is there any way we can refresh this data from the data source in the runtime?
Currently I'm loading the database data directly in my code, and converting that to a FeatureSet to pass as a parameter to the geoprocessing package. This works well, but it is extra processing that I'd like to offload if I can.
If no: What information does it include from the SQL database when I check this option? Just schema data?
- Assuming that the database data is not packaged, would I be able to change the SDE connection information for the database from the runtime via the geoprocessing objects? We need the ability to alter our database connection information as the database that we are currently using is quite mutable (especially when we deploy to the client, they have different server names, login procedures, even different database providers such as Oracle 11g).
Is this is possible, would I be able to change the SDE database connection info via the LocalFeatureService object as well?