HOW TO
In the ArcGIS QuickCapture mobile app, sending records from the app to ArcGIS Online can fail and return errors, requiring users to recover the unsent records and export them so they can be appended to the feature layer or published as a new feature layer. The unsent records are stored locally on mobile devices in a QuickCapture Recovery (.qcr) file and can be recovered via email. This article provides the workflow to recover the unsent records and convert them to a CSV file using the ArcGIS Pro Python Command Prompt, and CSV is selected because it is one of the supported file formats that can be used in both ArcGIS Pro and ArcGIS Online.
Note: This workflow is applicable on iOS and Android devices.
Note: The unsent records can be sent to the email address used to sign in to the QuickCapture mobile app or another email address.




Note: Records with negative status values commonly represent records that failed to submit.
python
os.chdir(r"C:\Users\Your_folder directory")
import os import sqlite3 import csv
conn = sqlite3.connect("projects_db.sqlite")
cursor = conn.cursor()
cursor.execute("""
SELECT *
FROM Features
WHERE Status < 0
""")
column_names = [desc[0] for desc in cursor.description] rows = cursor.fetchall()
output_csv = "failed_records.csv" with open(output_csv, "w", newline="", encoding="utf-8") as f: writer = csv.writer(f) writer.writerow(column_names) writer.writerows(rows)
conn.close()
print("Conversion completed. The SQLite database has been successfully converted to a CSV file.")
The following code is the full script.
# Change to the folder containing the SQLite database os.chdir(r"C:\Users\Anie\Desktop\Testing_folder\UNSENT_RECORDS\test123SQLite") # Import required libraries
import os import sqlite3 import csv # Connect to the QuickCapture SQLite database conn = sqlite3.connect("projects_db.sqlite") cursor = conn.cursor() # Query unsent records (negative status values) cursor.execute(""" SELECT * FROM Features WHERE Status < 0 """) # Get column names and records column_names = [desc[0] for desc in cursor.description] rows = cursor.fetchall() # Write the results to a CSV file output_csv = "failed_records.csv" with open(output_csv, "w", newline="", encoding="utf-8") as f: writer = csv.writer(f) writer.writerow(column_names) writer.writerows(rows) # Close the database connection conn.close() # Confirmation message (no record count) print("Conversion completed. The SQLite database has been successfully converted to a CSV file.")
The output shows the .csv file converted from the .sqlite file.

Article ID: 000035508
Get help from ArcGIS experts
Start chatting now