Skip To Content

Enable Attachments


Enables attachments on a geodatabase feature class or table. Creates the necessary attachment relationship class and attachment table that will internally store attachment files.


  • Attachments must first be enabled using this tool before they can be added using the Add Attachments tool.

  • If the geodatabase feature class or table already has attachments enabled, a warning message will be delivered and no processing will take place.


ParameterExplanationData Type

Geodatabase table or feature class for which attachments will be enabled. The input must be in a version 10 or later geodatabase.

Table View

Derived Output

NameExplanationData Type

The updated input dataset

Table View

Code sample

EnableAttachments example 1 (Python window)

The following code snippet illustrates how to use the EnableAttachments tool in the Python window.

import arcpy
EnableAttachments example 2 (stand-alone script)

The following script illustrates how to use the EnableAttachments tool in a stand-alone script.

Example: we have a folder of digital photographs of vacant homes; the photos
are named according to the ParcelID of the house in the picture. Let's add
these photos to a parcel feature class as attachments.

import csv
import arcpy
import os

input = r"C:\Data\City.gdb\Parcels"
inputField = "ParcelID"
matchTable = r"C:\Data\matchtable.csv"
matchField = "ParcelID"
pathField = "Picture" 
picFolder = r"C:\Pictures"

# Create a new Match Table csv file
writer = csv.writer(open(matchTable, "wb"), delimiter=",")

# Write a header row (the table will have two columns: ParcelID and Picture)
writer.writerow([matchField, pathField])

# Iterate through each picture in the directory and write a row to the table
for file in os.listdir(picFolder):
    if str(file).find(".jpg") > -1:
        writer.writerow([str(file).replace(".jpg", ""), file])

del writer

# The input feature class must first be GDB attachments enabled

# Use the match table with the Add Attachments tool
arcpy.AddAttachments_management(input, targetField, matchTable, matchField, 
                                pathField, picFolder)


Licensing information

  • Basic: No
  • Standard: Yes
  • Advanced: Yes

Related topics