This code successfully completes inside the ArcMap Python window but fails as a script with identical code in a toolbox. The source data is a collection of feature classes directly inside an enterprise geodatabase.
import arcpy
from arcpy import env
env.workspace = "Database Connections\\ClevestDataReload (As SA on GIS).sde"
# Enable archiving on feature classes and tables
arcpy.AddMessage("Beginning to enable archiving on feature classes and tables...")
arcpy.AddMessage("------------------------------------------------------------")
featureTable = ["CapacitorBank", "DynamicProtectiveDeviceBank"]
iter = 0
while (iter < len(featureTable)):
arcpy.AddMessage(" Starting to enable archiving on " + featureTable[iter] + "...")
archiveString = "Database Connections/ClevestDataReload (As SA on GIS).sde/ClevestDataReload.DBO." + featureTable[iter]
arcpy.EnableArchiving_management(archiveString)
arcpy.AddMessage(" Finished enabling archiving on " + featureTable[iter] + ".")
iter += 1
arcpy.AddMessage("---------------------------------------------------------------")
arcpy.AddWarning("Completed enabling archiving on all feature classes and tables.")
Here's the error from the script:
Traceback (most recent call last):
File "C:\Users\zbettis\Desktop\EnableArchiving.py", line 15, in <module>
arcpy.EnableArchiving_management(archiveString)
File "c:\program files (x86)\arcgis\desktop10.2\arcpy\arcpy\management.py", line 73, in Enable Archiving
raise e
ExecuteError: Failed to execute. Parameters are not valid.
Error 001540: Enable archiving is not supported for a dataset in a feature dataset.
The feature dataset containing the dataset must be enabled for archiving.
Failed to execute (EnableArchiving).
Failed to execute (EnableArchiving).