Book a Demo

Author Topic: Microsoft Cursor Engine on Apply  (Read 5287 times)

TBowersox

  • EA Novice
  • *
  • Posts: 6
  • Karma: +0/-0
    • View Profile
Microsoft Cursor Engine on Apply
« on: May 14, 2015, 01:32:18 am »
I'm trying to create a new Model Document in one of my packages. After just creating it, I'm getting the error, ":Microsoft Cursor Engine [-2147217864] Row cannot be located for updating. Some values may have been changed since it was last read."

I have:
  • Deleted and re-created the Model Document
  • Deleted and re-created the containing package, then re-created the Model Document
  • Deleted and re-created the grandparent package, parent, and the Model Document

Any suggestions for what I can start looking into?
We're using a MariaDB backend to store the data.

Thanks!
Tom

-- Edit, been doing some more debugging, getting some SQL logs. The following two lines return all nulls when executed manually.
SELECT * from t_operation where  ( Object_ID IN (5862) )  Order by Object_ID, Pos DESC , Scope, Name DESC

SELECT * from t_attribute where  ( Object_ID IN (5862) )  Order by Object_ID, Pos, Scope, Name

select Alias, t_object.Object_ID as Classifier from t_object, t_attribute where t_attribute.Classifier <> '0' and t_attribute.Classifier = t_object.Object_ID and  ( t_attribute.Object_ID IN (5862) ) union all

select Alias, t_object.Object_ID as Classifier from t_object, t_operation where t_operation.Classifier <> '0' and t_operation.Classifier = t_object.Object_ID and  ( t_operation.Object_ID IN (5862) ) union all

select Alias, t_object.Object_ID as Classifier from t_object, t_operation, t_operationparams where t_operationparams.Classifier <> '0' and t_operationparams.Classifier = t_object.Object_ID and t_operation.OperationID = t_operationparams.OperationID and  ( t_operation.Object_ID IN (5862) )

select t1.Name, t1.ea_guid from t_object t1, t_object t2 where t1.ea_guid = t2.PDATA1 and  ( t2.Object_ID IN (5862) )

select t1.Object_ID, t1.Object_Type, t1.Name, t1.Alias, t1.IsActive, t1.ea_guid from t_object t1, t_object t2 where t1.Object_ID = t2.Classifier and  ( t2.Object_ID IN (5862) )

Select UserID, GroupID, EntityID from t_seclocks, t_object WHERE  ( t_object.Object_ID IN (5862) )  AND EntityID = t_object.ea_guid

SELECT t_operationparams.* FROM t_operationparams,t_operation WHERE t_operationparams.OperationID = t_operation.OperationID and  ( t_operation.Object_ID IN (5862) )  order by t_operation.OperationID, t_operationparams.Pos

Select t_operationparams.OperationID from t_connector, t_connectortag, t_operationtag, t_operationparams where t_connector.Connector_ID=t_connectortag.ElementID  and t_operationparams.OperationID=t_operationtag.ElementID and t_connectortag.Property='operation_guid' and t_connectortag.`VALUE`= t_operationtag.`VALUE` and t_operationtag.Property='ea_guid' and t_operationparams.Classifier='5862' UNION  Select t_operation.OperationID from t_connector, t_connectortag, t_operationtag, t_operation where t_connector.Connector_ID=t_connectortag.ElementID  and t_connectortag.Property='operation_guid' and t_connectortag.`VALUE`= t_operationtag.`VALUE` and t_operationtag.Property='ea_guid' and t_operationtag.ElementID=t_operation.OperationID and t_operation.Classifier='5862'
« Last Edit: May 14, 2015, 01:50:30 am by tbowersox »

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13523
  • Karma: +574/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: Microsoft Cursor Engine on Apply
« Reply #1 on: May 14, 2015, 02:40:55 am »
There's a setting somewhere in the odbc connection for MySQL that you have to switch. Something with "return number of rows" or similar, I don't remember exactly.

Check the help for details.

Geert

TBowersox

  • EA Novice
  • *
  • Posts: 6
  • Karma: +0/-0
    • View Profile
Re: Microsoft Cursor Engine on Apply
« Reply #2 on: May 14, 2015, 02:56:40 am »
Perfect, thanks!
And the option is under Cursors/Results -> "Return matched rows instead of affected rows"