<?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: Distributed collaboration (as copy) does not work when table is updated with SQL? in ArcGIS Enterprise Questions</title>
    <link>https://community.esri.com/t5/arcgis-enterprise-questions/distributed-collaboration-as-copy-does-not-work/m-p/1503541#M39963</link>
    <description>&lt;P&gt;We've got a somewhat similar process here, but we do not use a distributed collaboration to update the hosted copy, as we have run into various issues (though not your specific problem) in the past. Still, I don't see why a collab couldn't take the updates, regardless of where they happen.&lt;/P&gt;&lt;P&gt;Our update process is:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Use pandas.read_sql() to execute SQL and query the source table(s) directly.&lt;/LI&gt;&lt;LI&gt;Make whatever modifications are needed to get the source data compatible with AGOL / Portal&lt;/LI&gt;&lt;LI&gt;Either:&lt;OL&gt;&lt;LI&gt;Truncate / append to hosted layer (can use arcgis.features.GeoAccessor.to_featureset() to get the dataframe into an AGOL-ready object)&lt;/LI&gt;&lt;LI&gt;Use either pandas.DataFrame.compare() or arcgis.features.GeoAccessor.compare() to compare source with hosted copy, identify the specific subset of rows that actually need editing&lt;/LI&gt;&lt;/OL&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;Not sure how feasible it would be for you to pursue a similar method, but it cuts out the middle-man of setting up a collaboration.&lt;/P&gt;</description>
    <pubDate>Wed, 10 Jul 2024 13:50:17 GMT</pubDate>
    <dc:creator>jcarlson</dc:creator>
    <dc:date>2024-07-10T13:50:17Z</dc:date>
    <item>
      <title>Distributed collaboration (as copy) does not work when table is updated with SQL?</title>
      <link>https://community.esri.com/t5/arcgis-enterprise-questions/distributed-collaboration-as-copy-does-not-work/m-p/1503479#M39962</link>
      <description>&lt;P&gt;I'm assuming this is unsupported, but wanted to make sure there is no workaround or I'm doing something wrong.&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am creating a table in my enterprise geodatabase, enabling global ids and archiving, and sharing as a referenced feature service with sync enabled to my Portal. I do this all with ArcGIS Pro / Python.&lt;/P&gt;&lt;P&gt;When I share this feature layer with my distributed collaboration configured to send as copies, a hosted feature layer is created in my ArcGIS Online instance reflecting the data in my enterprise geodatabase.&amp;nbsp; That works as expected.&amp;nbsp;&lt;/P&gt;&lt;P&gt;However, this table is periodically updated outside ArcGIS - that is, with native SQL.&amp;nbsp; This process runs a truncate on the table, and repopulates with new data.&amp;nbsp; This process also generates new global ids to populate on load as well.&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is where the distributed collaboration breaks.&amp;nbsp;&amp;nbsp;&lt;BR /&gt;My logs say "failure in processing exports for Replica", "&lt;SPAN&gt;Failed to export data changes message for replica with Guid," "Failed to export data changes to replica". "Invalid column value [globalid]."&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;So I'm assuming something is happening with the globalid.&amp;nbsp; They look to be the standard format {8}-{4}-{4}-{4}-{12}, where the number is the number of characters (e.g.&amp;nbsp;52B2EBC3-DBA2-46C1-93F1-0D6DD52A2F13)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;So two questions:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;1. It is unsupported to maintain a distributed collaboration when the source table is maintained outside of ArcGIS&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;2. If not, is there a different process our DBA should follow so that the synchronization successfully processes?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 10 Jul 2024 13:03:39 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-enterprise-questions/distributed-collaboration-as-copy-does-not-work/m-p/1503479#M39962</guid>
      <dc:creator>Jay_Gregory</dc:creator>
      <dc:date>2024-07-10T13:03:39Z</dc:date>
    </item>
    <item>
      <title>Re: Distributed collaboration (as copy) does not work when table is updated with SQL?</title>
      <link>https://community.esri.com/t5/arcgis-enterprise-questions/distributed-collaboration-as-copy-does-not-work/m-p/1503541#M39963</link>
      <description>&lt;P&gt;We've got a somewhat similar process here, but we do not use a distributed collaboration to update the hosted copy, as we have run into various issues (though not your specific problem) in the past. Still, I don't see why a collab couldn't take the updates, regardless of where they happen.&lt;/P&gt;&lt;P&gt;Our update process is:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Use pandas.read_sql() to execute SQL and query the source table(s) directly.&lt;/LI&gt;&lt;LI&gt;Make whatever modifications are needed to get the source data compatible with AGOL / Portal&lt;/LI&gt;&lt;LI&gt;Either:&lt;OL&gt;&lt;LI&gt;Truncate / append to hosted layer (can use arcgis.features.GeoAccessor.to_featureset() to get the dataframe into an AGOL-ready object)&lt;/LI&gt;&lt;LI&gt;Use either pandas.DataFrame.compare() or arcgis.features.GeoAccessor.compare() to compare source with hosted copy, identify the specific subset of rows that actually need editing&lt;/LI&gt;&lt;/OL&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;Not sure how feasible it would be for you to pursue a similar method, but it cuts out the middle-man of setting up a collaboration.&lt;/P&gt;</description>
      <pubDate>Wed, 10 Jul 2024 13:50:17 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-enterprise-questions/distributed-collaboration-as-copy-does-not-work/m-p/1503541#M39963</guid>
      <dc:creator>jcarlson</dc:creator>
      <dc:date>2024-07-10T13:50:17Z</dc:date>
    </item>
  </channel>
</rss>

