Hi all,
is there a way to access and query the underlying datasource of a service that is non in the SDE schema? I have been developing a Java-based SOE which does some querying using the MapServer's DataAccess:
IMapServer3 ms = (IMapServer3) getMapServerDataAccess();
String mapName = ms.getDefaultMapName();
IMapServerDataAccess mapServerDataAccess = sos.getMapServerDataAccess();
Object dataSource= mapServerDataAccess.getDataSource(mapName, 0);
FeatureClass fc = new FeatureClass(dataSource);
workspace = new Workspace(fc.getWorkspace());
This works well if the registered datasource is an SDE database. But when I do this with a non-SDE (using DBO), I receive a different implementation of IWorkspace (in fact an SqlWorkspace object, instead of an IWorkspaceProxy). It throws an AutomationException ("not implemented") for
workspace.createQueryDef()
calls.
Can I work around this issue? Is there an alternative way to query database data (SqlWorkspace does not seem to have methods for this purpose)?
Thanks and kind regards,
Matthes