ArcPy.da.UpdateCursor error The requested operation is invalid on a closed state

Here is my complete solution. I needed to use arcpy.da.editor and I needed to add the dataset along with the sde path in order to access the layers from the current working session/ document. This works great but I still need to do a few things but it is working. Also, make sure you are not in edit mode when using arcpy.da.Editor(). With that said, thanks for all the help.

fc = r"C:\Users\Darrick\AppData\Roaming\ESRI\Desktop10.3\ArcCatalog\Sewer.sde\EC_Sewer.DBO.Sewer_Network"

workspace = os.path.dirname(fc)
edit = arcpy.da.Editor(workspace)
edit.startEditing(False, True)
edit.startOperation()
upsql = "OBJECTID = 175204"

with arcpy.da.UpdateCursor("GravityMain",["FromManHole"],upsql) as upcurs:
    for updat in upcurs:
        updat[0] = '222'
        upcurs.updateRow(updat)

edit.stopOperation()
edit.stopEditing(True)
del edit

First, I would suggest you modify your work flow to include looking up all the arcpy things you don't understand. That is part of the process of coding.

Here is the link to da.editor http://desktop.arcgis.com/en/arcmap/10.3/analyze/arcpy-data-access/editor.htm

Here is the link to da update cursor http://desktop.arcgis.com/en/arcmap/10.3/analyze/arcpy-data-access/updatecursor-class.htm

I have cobbled together how you would set up your script. You will need to switch out the variables etc.

Note how the path to the feature class and workspace are set up. An easy way to get the correct path syntax is to cut and paste the path from the catalog window, down in the database connections section.

Also note that you don't need to check for the existence of a row. If your where clause doesn't return any records, the cursor doesn't iterate.

And finally, note that you don't need to delete your cursor if you use a with. It happens automatically.

 import arcpy
 import os

 fc = 'Database Connections/Portland.sde/portland.jgp.roads'
 workspace = os.path.dirname(fc)
 fields = ['ROAD_TYPE', 'BUFFER_DISTANCE']


 # Start an edit session. Must provide the workspace.
 edit = arcpy.da.Editor(workspace)

 # Edit session is started without an undo/redo stack for versioned data
 #  (for second argument, use False for unversioned data)
 edit.startEditing(False, True)

 # Start an edit operation
 edit.startOperation()

 # Create update cursor for feature class 
 with arcpy.da.UpdateCursor(fc, fields) as cursor:
     # Update the field used in Buffer so the distance is based on road 
     # type. Road type is either 1, 2, 3 or 4. Distance is in meters. 
     for row in cursor:
         # Update the BUFFER_DISTANCE field to be 100 times the 
         # ROAD_TYPE field.
         row[1] = row[0] * 100
         cursor.updateRow(row) 

 # Stop the edit operation.
 edit.stopOperation()

 # Stop the edit session and save the changes
 edit.stopEditing(True)