Function or procedure does not exist after upgrading Arcgis

2480
1
08-30-2019 01:48 AM
SilvioDa_Silva
New Contributor II

I face some difficulties since i upgraded my application from ArcGIS 10.2.2 to ArcGis 10.7.1.
Some functionalities now send the following errors :
Function or procedure does not exist [gref_v1_prod.gref_v1_prod.$SomeTable]
$SomeTable can take differents values according to the fonctionality used (REFERENTIEL, OMAJ, ...).
When checking, the tables REFERENTIEL, OMAJ, ... are in the database.

These errors occure the most often when trying to save or insert into the database.
Some of the following lines trigger the error :
"ESRI.ArcGIS.Geodatabase.Itable.Insert();"
"ESRI.ArcGIS.Geodatabase.IFeatureWorkspace.CreateFeatureClass()"
"ESRI.ArcGIS.Geodatabase.IDataset.Delete()"
"ESRI.ArcGIS.Geodatabase.IRow.Store()"
One important point is that some functionalities of my application use these portion of code and works well while others will trigger the error.
Among them some will always the send error when other will only send it the first time it is ran and will not trigger it again until the application is rebooted.

The technology used is C# with ArcObject 10.7.1 using ArcMap.
The database is postgres 10.9 with postgis 2.4.

Theses portions of codes worked very well in 10.2.
Do you have ideas about the origin of this problem or do you have some piece of advices to help me face it ?

0 Kudos
1 Reply
MartinSirkovsky1
New Contributor III

Hi.

I have upgraded ArcMAP from v 10.5 to 10.7.1 yesterday. Currently I notice that update cursor is not working anymore in my scripts. I get the same error:

Function or procedure does not exists.

Cursor is running, but once I use the function "updateRow()" on cursor, I get this error. 

Here is a script sampe:

sde = "path to connection file"

inputFC = "my_input_fc"

arcpy.env.workspace = sde

whereClause = "objectid < 1000"
fields = ['objectid', 'feature_id']
with arcpy.da.UpdateCursor(inputFC, fields, whereClause) as cursor:
    for row in cursor:
    row[1] = row[0]
    print row[0]
    cursor.updateRow(row)

What I was able to find out is that if I am running script against FC stored in filegeodatabase, it is working correctly. However if I am running against postgresql (version 9.2) I am getting the error.

0 Kudos