<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: ArcSDEWorkspace Factory in ArcObjects SDK Questions</title>
    <link>https://community.esri.com/t5/arcobjects-sdk-questions/arcsdeworkspace-factory/m-p/609216#M16316</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Here are the crucial interfaces and code to derive the SDE connection of a Feature Class (I believe it should also work for a table if you assign the Table from the IStandaloneTable to the Dataset) to set up SDE editing without knowing the connection properties (Code is VBA, but basically the same as VB.Net if the Set keywords are removed):&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&amp;nbsp; Dim pDataset As IDataset
&amp;nbsp; Dim pWorkspace As IWorkspace ' Added interface to set up SDE editing
&amp;nbsp; Dim pFeatureWorkspace As IFeatureWorkspace ' Added interface to set up SDE editing
&amp;nbsp; Dim pWorkspaceEdit As IWorkspaceEdit ' Added interface to set up SDE editing
&amp;nbsp; Dim pAnnoLayer As IAnnotationLayer
&amp;nbsp; ' Assume I have a valid Annotation layer assigned to the pLayer variable
&amp;nbsp; Set pAnnoLayer = pLayer
&amp;nbsp; Set pDataset = pAnnoLayer&amp;nbsp; ' the SDE layer from the map.
&amp;nbsp; '*********************************
&amp;nbsp; ' Verify Workspace is in an Edit state
&amp;nbsp; '*********************************
&amp;nbsp; Set pWorkspace = pDataset.Workspace
&amp;nbsp; Set pFeatureWorkspace = pWorkspace
&amp;nbsp; Set pWorkspaceEdit = pFeatureWorkspace
&amp;nbsp; If pWorkspaceEdit.IsBeingEdited Then
&amp;nbsp;&amp;nbsp;&amp;nbsp; pWorkspaceEdit.EnableUndoRedo
&amp;nbsp;&amp;nbsp;&amp;nbsp; pWorkspaceEdit.StartEditOperation ' Editing Started
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' Do your edits here
&amp;nbsp;&amp;nbsp;&amp;nbsp; pWorkspaceEdit.StopEditOperation ' Editing completed
&amp;nbsp; End If&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 12 Dec 2021 02:04:34 GMT</pubDate>
    <dc:creator>RichardFairhurst</dc:creator>
    <dc:date>2021-12-12T02:04:34Z</dc:date>
    <item>
      <title>ArcSDEWorkspace Factory</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/arcsdeworkspace-factory/m-p/609215#M16315</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I am relatively new to ArcObjects or I should say I haven't done this in a while.&amp;nbsp; I am trying to edit an sde table within a Map document but can't seem to find any examples of how to do this the way i want.&amp;nbsp; Basically, i have reference to the table in the map document via the IActiveView ITableCollection interface.&amp;nbsp; I need to edit/create rows to the table.&amp;nbsp; I need help in starting an edit session without having to specify IpropertySet properties.&amp;nbsp; I guess what I am driving at is to be able to somehow know the SdeWorkspaceFactory from the table in the map document.&amp;nbsp; I have tried creating the SdeWorkspaceFactory but keep getting "Sde not running on Server" error.&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I would like something like these rather than what i have below.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;ITableCollection tableCollection = activeView as ITableCollection;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ITable mappingTable = tableCollection.get_Table(0);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;IWorkspace wkspc = mappingTable.workspace // IS IT SOMEHOW POSSIBLE TO GET THE WORKSPACE FROM THE TABLE OR LAYER/FEATURECLASS?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;---------------------------------------------------------&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;THIS IS WHAT I CURRENTLY HAVE&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Type factoryType = Type.GetTypeFromProgID("esriDataSourcesGDB.SdeWorkspaceFactory");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IWorkspaceFactory workspaceFactory = (IWorkspaceFactory)Activator.CreateInstance(factoryType);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Create a property set and populate it with connection properties.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IPropertySet propertySet = new PropertySetClass(); &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; propertySet.SetProperty("SERVER", System.Configuration.ConfigurationSettings.AppSettings["SERVER"]);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; propertySet.SetProperty("INSTANCE", System.Configuration.ConfigurationSettings.AppSettings["INSTANCE"]);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; propertySet.SetProperty("DATABASE", System.Configuration.ConfigurationSettings.AppSettings["DATABASE"]);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; propertySet.SetProperty("USER", System.Configuration.ConfigurationSettings.AppSettings["USER"]);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; propertySet.SetProperty("PASSWORD", System.Configuration.ConfigurationSettings.AppSettings["PASSWORD"]);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; propertySet.SetProperty("VERSION", System.Configuration.ConfigurationSettings.AppSettings["VERSION"]);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string msg = "";&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IWorkspace workspace = null;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IWorkspaceEdit workspaceEdit = null;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Open the geodatabase using the property set.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; workspace = workspaceFactory.Open(propertySet, 0); // BTW I KEEP GETTING TETH "SDE NOT RUNNING ON SERVER ERROR" here.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;IMultiuserWorkspaceEdit and IWorkspaceEdit2 interfaces.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IMultiuserWorkspaceEdit muWorkspaceEdit = workspace as IMultiuserWorkspaceEdit;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; workspaceEdit = workspace as IWorkspaceEdit;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Start a versioned edit session and an edit operation.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; muWorkspaceEdit.StartMultiuserEditing(esriMultiuserEditSessionMode.esriMESMVersioned);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; workspaceEdit.StartEditOperation();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch (COMException comExc1)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; msg = comExc1.Message;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Nov 2011 17:37:58 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/arcsdeworkspace-factory/m-p/609215#M16315</guid>
      <dc:creator>MakindeFalade</dc:creator>
      <dc:date>2011-11-04T17:37:58Z</dc:date>
    </item>
    <item>
      <title>Re: ArcSDEWorkspace Factory</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/arcsdeworkspace-factory/m-p/609216#M16316</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Here are the crucial interfaces and code to derive the SDE connection of a Feature Class (I believe it should also work for a table if you assign the Table from the IStandaloneTable to the Dataset) to set up SDE editing without knowing the connection properties (Code is VBA, but basically the same as VB.Net if the Set keywords are removed):&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&amp;nbsp; Dim pDataset As IDataset
&amp;nbsp; Dim pWorkspace As IWorkspace ' Added interface to set up SDE editing
&amp;nbsp; Dim pFeatureWorkspace As IFeatureWorkspace ' Added interface to set up SDE editing
&amp;nbsp; Dim pWorkspaceEdit As IWorkspaceEdit ' Added interface to set up SDE editing
&amp;nbsp; Dim pAnnoLayer As IAnnotationLayer
&amp;nbsp; ' Assume I have a valid Annotation layer assigned to the pLayer variable
&amp;nbsp; Set pAnnoLayer = pLayer
&amp;nbsp; Set pDataset = pAnnoLayer&amp;nbsp; ' the SDE layer from the map.
&amp;nbsp; '*********************************
&amp;nbsp; ' Verify Workspace is in an Edit state
&amp;nbsp; '*********************************
&amp;nbsp; Set pWorkspace = pDataset.Workspace
&amp;nbsp; Set pFeatureWorkspace = pWorkspace
&amp;nbsp; Set pWorkspaceEdit = pFeatureWorkspace
&amp;nbsp; If pWorkspaceEdit.IsBeingEdited Then
&amp;nbsp;&amp;nbsp;&amp;nbsp; pWorkspaceEdit.EnableUndoRedo
&amp;nbsp;&amp;nbsp;&amp;nbsp; pWorkspaceEdit.StartEditOperation ' Editing Started
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' Do your edits here
&amp;nbsp;&amp;nbsp;&amp;nbsp; pWorkspaceEdit.StopEditOperation ' Editing completed
&amp;nbsp; End If&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 02:04:34 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/arcsdeworkspace-factory/m-p/609216#M16316</guid>
      <dc:creator>RichardFairhurst</dc:creator>
      <dc:date>2021-12-12T02:04:34Z</dc:date>
    </item>
    <item>
      <title>Re: ArcSDEWorkspace Factory</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/arcsdeworkspace-factory/m-p/609217#M16317</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;If the table is in the map then the database connection is already opened.&amp;nbsp; Just get the workspace from the table and start your edit session.&amp;nbsp; You can use IWorkspaceEdit or use IEditor.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Remember, standalone table and tables are not the same thing so make sure you get the reference to the table correctly.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim tableCollection As IStandAloneTableCollection = map&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim standAloneTable As IStandAloneTable = tableCollection.StandAloneTable(indexOfYourTable)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim table As ITable = standAloneTable.Table&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim dataset As IDataset = table&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim workspace As IWorkspace = dataset.Workspace&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;' use IWorkspaceEdit&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim workspaceEdit As IWorkspaceEdit = workspace&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;workspaceEdit.StartEditing(false)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;' use IEditor&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim editor As IEditor = GetEditorExtension()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;editor.StartEditing(workspace)&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Nov 2011 18:32:53 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/arcsdeworkspace-factory/m-p/609217#M16317</guid>
      <dc:creator>NeilClemmons</dc:creator>
      <dc:date>2011-11-04T18:32:53Z</dc:date>
    </item>
    <item>
      <title>Re: ArcSDEWorkspace Factory</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/arcsdeworkspace-factory/m-p/609218#M16318</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thank you very much that was most helpful. Just what I needed&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 07 Nov 2011 16:54:41 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/arcsdeworkspace-factory/m-p/609218#M16318</guid>
      <dc:creator>MakindeFalade</dc:creator>
      <dc:date>2011-11-07T16:54:41Z</dc:date>
    </item>
  </channel>
</rss>

