POST
|
Hello everyone, I was wondering if there is anyway we can get the modified featureclass names in an ArcSDE Geodatabase for a specific version through ArcObjects. Here is the code snippet which I am using but it always returns '0' featureclass names though, I can check from the 'Version Changes' dialog that there are feature classes modified in this version. public List<string> getVersionModifiedFCs(IWorkspace workspace, string versionName)
{
List<string> modifiedFCs = new List<string>();
try
{
IVersionEdit versionEdit = (IVersionEdit)workspace;
IWorkspaceEdit2 workspaceEdit2 = (IWorkspaceEdit2)workspace;
workspaceEdit2.StartEditing(false);
workspaceEdit2.StartEditOperation();
versionEdit.Reconcile(versionName);
IEnumBSTR modifiedClassesEnum = versionEdit.ModifiedClasses;
String fcName = null;
while ((fcName = modifiedClassesEnum.Next())!=null)
{
modifiedFCs.Add(fcName);
//fcName = modifiedClassesEnum.Next();
}
for (int i = 0; i < modifiedFCs.Count; i++)
{
System.Diagnostics.Trace.WriteLine("modified feature class " + i.ToString() + ": " + modifiedFCs);
}
modifiedClassesEnum = null;
workspaceEdit2.StopEditOperation();
workspaceEdit2.StopEditing(false);
}
catch (COMException comExc)
{
reportComException(comExc);
}
catch (Exception exc)
{
reportException(exc);
}
return modifiedFCs;
} My first reservation on this code snippet is that why we have to open an edit session to get modified featureclass names but I did it because the documentation asks for having a reconcile operation. Secondly, I also tried getting the featureclass names through below code but with no gain. IWorkspaceEdit2 workspaceEdit2 = (IWorkspaceEdit2)workspace;
IDataChangesEx dataChangesEx = workspaceEdit2.get_EditDataChanges(scope);
// Show the changes for each modified class in the workspace.
IEnumBSTR modifiedClasses = dataChangesEx.ModifiedClasses; Lastly, I know I can list all the featureclasses from the Geodatabase and then check the version changes for each featureclass but I think it would be a very ugly solution. I am working with ArcGIS 10.1 on Windows 7 (64bit) with ArcSDE 9.3.1 (64bit) and this snippet works as an addon to ArcCatalog. So, kindly share your thought if there is anyway we can get list of modified featureclasses for a specific version through ArcObjects API. In advance I thank you for your time and help.
... View more
04-08-2013
11:13 PM
|
0
|
0
|
680
|
POST
|
Thanks Anthony, your suggestion was helpful in tracing sql queries executed for calculation of spatial index and similar operations.
... View more
05-07-2012
03:47 AM
|
0
|
0
|
414
|
POST
|
Thanks Anthony for the informative reply. I would try to trace session information as you mentioned and hopefully this should work. I was actually working with a schema owner user to change a feature dataset spatial reference and trace this user activity using the Oracle 'Audit ..... user by access' command and it was not showing any activity in the Oracle audit tables. If you take a look at the ArcSDE system tables for ArcSDE 9.3.x, the spatial reference information along with the domain for feature classes are stored in 'Layers' object but there is no link to check where domain information for feature datasets are stored. Here is the link to ArcSDE System tables/object model 'http://webhelp.esri.com/arcgisdesktop/9.3/pdf/93_sde_diagram.pdf'. I need this information as I am facing an error about spatial reference when I copy or replicate one of the feature datasets from our legacy database. The error message is 'The spatial reference z values do not match - Error when replicating data'. A very simple work around would be if I just recreate this feature dataset and import data into it but I can not do it for certain business reasons. I have even tried to dig out this matter at ArcObjects level and the spatial reference of this specific dataset seems fine but I just wander what might be causing this problem. However, this is a second issue and is different than the subject matter of this question but thought would give you a background of what I am doing. I would update the status as I try it with the oracle level 12 trace information. Thanks once again for your help.
... View more
05-03-2012
05:33 AM
|
0
|
0
|
414
|
POST
|
Greetings all, I have searched the subject matter through forums but could not get useful material on it. I am trying to audit a user activity in oracle database which performs various operations in ArcSDE e.g., recalculating spatial index for a feature dataset or an individual feature class. I can not use Oracle Fine Grained Auditing (FGA) as it works on individual user objects. Please bear with me as I am new to oracle auditing stuff. When I implement user auditing through the 'audit alter table, select table, insert table, update table, delete table, grant table, grant procedure, execute procedure by USERNAME;' statement I can see the user selection and editing stuff on feature class but it is not showing 'rebuilding of spatial index' for feature dataset. I think there should be a statement for auditing oracle packages or other procedures execution which I need to include with this statement and don't have any idea about it. So, please share your thought or any clue on what I might be missing in this regard. Thanks for your time and support in advance.
... View more
05-02-2012
05:46 AM
|
1
|
3
|
1695
|
POST
|
Hello everyone, I would like to clarify my understanding on a one-way or two-way replication scenario with limited possible privileges. In my humble opinion, for data synchronization the required privileges should be only write privileges on both source and target environment. I have a requirement to synchronize data from two different organizations and no one would like to allow schema owner changes which we use for creation of a new replica, which is later used for synchronization. I have tested a workflow to create replica with write privileges on the source environment and schema owner privileges on target environment. However, I would like to know if there is anyway we can achieve it with both limited 'edit / write' privileges on both environment. So to simply my questions are: 1. Is there a way to do replication and synchronization with only edit privileges in both source and target environment? 2. If not can there be a way if we do replication with schema owner on the target environment and synchronize later by I. Changing connection information for the target environment with a different user with edit privilege rights. II. Or by revoking some rights from the schema owner once replication is done and synchronization is done with limited privileges. However, this would mean reassigning schema owner privileges for performing Analyze / updating statistics operation or if it could be avoided. Thanks all in advance for your time and help.
... View more
02-10-2012
09:47 PM
|
0
|
0
|
1389
|
POST
|
Greetings everyone, Can anyone suggest what would be the best pattern to upgrade ArcSDE version while you are running long business data edits / transactions based on multilevel ArcSDE Versioning mechanism? These data update jobs sometimes are taking 2-3 years and are not coincident with one another. There is always a new version every year and we have to update in order to leverage the new features introduced in the full suite of software. The update was possible using Oracle import tools till ArcSDE 9.3.1 version but with ArcGIS 10 system tables for ArcSDE are changed and now there is no existing documentation on any migration procedure from ArcSDE 9.3.1 data model / system tables to ArcSDE 10 data model. Can anyone suggest what should be the possible solution or if there is any practical versioning workflow we can adopt to accomplish this? Thanks to you all for your time and support in advance.
... View more
01-21-2012
08:49 PM
|
0
|
0
|
1479
|
POST
|
Hello Josh, No, I am working in pure ArcObjects code and am working with simple feature classes. I have contacted the ESRI Technical Representative in my area and would update if I get any answer in this regard. Please accept my apology as I didn't touch upon what you are experiencing. Regards.
... View more
12-17-2011
12:59 AM
|
0
|
0
|
1603
|
POST
|
Hello, I found this link 'http://forums.esri.com/Thread.asp?c=2&f=1719&t=170925#503551' while searching this forum and found it helping so I am sharing it here. Thanks.
... View more
12-04-2011
09:43 PM
|
0
|
0
|
412
|
POST
|
Hello everyone, I am trying to automate replication for ArcSDE and am trying to follow instructions from ESRI webhelp at URL 'http://help.arcgis.com/en/sdk/10.0/vba_desktop/conceptualhelp/index.html#/How_to_create_a_replica/000100000063000000/'. I am consistently getting an error message saying '"The workspace is not connected"'. I tried searching the forum for this error but could not get find anything useful in this regard. I am using C# and ArcGIS Desktop 10. Any helpful insight would be appreciated in this regard. Thanks in advance. // *******Code Snippet************ IGeoDataServer geoDataServer=null; IGeoDataServerInit geoDataServerInit; geoDataServer = new GeoDataServerClass(); geoDataServerInit = (IGeoDataServerInit)geoDataServer; geoDataServerInit.InitFromConnectionString(gdbConnectionString); IReplicationAgent pRepAgent; IGPReplicaOptions2 pReplicaOptions; IGPReplicaDescription pGPReplicaDesc; IGPReplicaDatasets pGPReplicaDatasets; IGPReplicaDatasets pGPReplicaDatasets_Expand; IGPReplicaDataset pGPReplicaDataset; pGPReplicaDesc = new GPReplicaDescriptionClass(); pGPReplicaDatasets = new GPReplicaDatasetsClass(); pGPReplicaDataset = new GPReplicaDatasetClass(); pGPReplicaDataset.DatasetType = esriDatasetType.esriDTFeatureDataset; pGPReplicaDataset.Name = "SampleFeatureDatasetName"; pGPReplicaDatasets.Add(pGPReplicaDataset); pGPReplicaDatasets_Expand = sourceGeoDataServer.ExpandReplicaDatasets(pGPReplicaDatasets); pGPReplicaDesc.ReplicaDatasets = pGPReplicaDatasets_Expand; pGPReplicaDesc.ModelType = esriReplicaModelType.esriModelTypeFullGeodatabase; pGPReplicaDesc.SingleGeneration = (lAccType == esriReplicaAccessType.esriReplicaAccessNone); pGPReplicaDesc.SpatialRelation = esriSpatialRelEnum.esriSpatialRelIndexIntersects; pReplicaOptions = new GPReplicaOptionsClass(); pReplicaOptions.AccessType = lAccType; pReplicaOptions.ChildReconcilePolicy = esriReplicaReconcilePolicyType.esriReplicaResolveConflictsInFavorOfImportedChanges; pReplicaOptions.ParentReconcilePolicy = esriReplicaReconcilePolicyType.esriReplicaResolveConflictsNone; pReplicaOptions.IsChildFirstSender = true; pRepAgent = new ReplicationAgent(); pRepAgent.CreateReplica(versionName, sourceGeoDataServer, targetGeoDataServer, replicaName, pGPReplicaDesc, pReplicaOptions);
... View more
12-03-2011
08:25 PM
|
0
|
0
|
2233
|
POST
|
Greetings all, Please share your opinion regarding the pros and cons of having either multiple instances or a single instance of ArcSDE in Oracle for production data. Our data size is about 35 GB right now and it is growing on a yearly basis. It is experiencing an average transaction rate of 1000 spatial / attribute changes in a day. The questions I am interested interested in are: 1. Is there any impact on the performance? 2. How much maintenance effort is added since arcsde administration work is distributed to the schema owners? 3. Any other pros and cons details? Thanks in advance.
... View more
12-03-2011
08:24 PM
|
0
|
3
|
651
|
POST
|
Thanks Richard, I would talk to the ESRI customer support in this regard.
... View more
12-03-2011
08:06 PM
|
0
|
0
|
1603
|
POST
|
Greetings, It has been almost 5 days that I posted this thread and it has been viewed 39 times by different users and yet no one responded to it. I am just following what instructions are given in ESRI Documentation. Is it really a problem or I am making any mistake? Can anyone from ESRI technical team respond in this regard? Thanks.
... View more
11-29-2011
06:22 PM
|
0
|
0
|
1603
|
POST
|
Hello everyone, I am trying to automate replication for ArcSDE and am trying to follow instructions from ESRI webhelp at URL 'http://help.arcgis.com/en/sdk/10.0/vba_desktop/conceptualhelp/index.html#/How_to_create_a_replica/000100000063000000/'. I am consistently getting an error message saying '"The workspace is not connected"'. I tried searching the forum for this error but could not get find anything useful in this regard. I am using C# and ArcGIS Desktop 10. Any helpful insight would be appreciated in this regard. Thanks in advance. // *******Code Snippet************ IGeoDataServer geoDataServer=null; IGeoDataServerInit geoDataServerInit; geoDataServer = new GeoDataServerClass(); geoDataServerInit = (IGeoDataServerInit)geoDataServer; geoDataServerInit.InitFromConnectionString(gdbConnectionString); IReplicationAgent pRepAgent; IGPReplicaOptions2 pReplicaOptions; IGPReplicaDescription pGPReplicaDesc; IGPReplicaDatasets pGPReplicaDatasets; IGPReplicaDatasets pGPReplicaDatasets_Expand; IGPReplicaDataset pGPReplicaDataset; pGPReplicaDesc = new GPReplicaDescriptionClass(); pGPReplicaDatasets = new GPReplicaDatasetsClass(); pGPReplicaDataset = new GPReplicaDatasetClass(); pGPReplicaDataset.DatasetType = esriDatasetType.esriDTFeatureDataset; pGPReplicaDataset.Name = "SampleFeatureDatasetName"; pGPReplicaDatasets.Add(pGPReplicaDataset); pGPReplicaDatasets_Expand = sourceGeoDataServer.ExpandReplicaDatasets(pGPReplicaDatasets); pGPReplicaDesc.ReplicaDatasets = pGPReplicaDatasets_Expand; pGPReplicaDesc.ModelType = esriReplicaModelType.esriModelTypeFullGeodatabase; pGPReplicaDesc.SingleGeneration = (lAccType == esriReplicaAccessType.esriReplicaAccessNone); pGPReplicaDesc.SpatialRelation = esriSpatialRelEnum.esriSpatialRelIndexIntersects; pReplicaOptions = new GPReplicaOptionsClass(); pReplicaOptions.AccessType = lAccType; pReplicaOptions.ChildReconcilePolicy = esriReplicaReconcilePolicyType.esriReplicaResolveConflictsInFavorOfImportedChanges; pReplicaOptions.ParentReconcilePolicy = esriReplicaReconcilePolicyType.esriReplicaResolveConflictsNone; pReplicaOptions.IsChildFirstSender = true; pRepAgent = new ReplicationAgent(); pRepAgent.CreateReplica(versionName, sourceGeoDataServer, targetGeoDataServer, replicaName, pGPReplicaDesc, pReplicaOptions);
... View more
11-26-2011
03:29 AM
|
0
|
7
|
8585
|
POST
|
Dear all, I am facing problem when I try importing/copying a raster dataset form any source to my desired arcsde environment which is 64bit ArcSDE 9.3.1, Oracle 11g R2 and Win2K8 Server. I tried even the SDERASTER command but I always get same annoying message. ArcSDE log files also show the same error. Here is the detailed error message. --------------------------- Paste Failed --------------------------- Failed to paste USER1.RASTER_CATALOG1 Underlying DBMS error [ORA-02158: invalid CREATE INDEX option] DBMS table not found [ORA-00942: table or view does not exist] [USER1.RASTER_CATALOG1][STATE_ID = 2797030] The index passed was not within the valid range. The index passed was not within the valid range. --------------------------- OK --------------------------- ArcGIS forums reported it as a bug in 9.3.1 as per the URL 'http://support.esri.com/en/knowledgebase/techarticles/detail/38470' and I even applied relevant patch for this bug but the result is same. I was wondering if there is a way I can further diagnose or fix this issue. Other than this problem this ArcSDE environment works fine.
... View more
05-29-2011
04:37 AM
|
0
|
0
|
1287
|
POST
|
Hello everyone, Could anyone share information on where can I download the GDBT for ArcGIS 10? I know it might have licensing issues as is mentioned in this thread but I would see if I can handle it. Thanks.
... View more
01-18-2011
07:43 PM
|
0
|
0
|
696
|
Title | Kudos | Posted |
---|---|---|
1 | 05-02-2012 05:46 AM |
Online Status |
Offline
|
Date Last Visited |
06-28-2022
12:01 AM
|