Index not unique error during Check Out or Get

A friend of mine was facing a very strange error yesterday while doing a check out of an Applet. The error message was as following

23000 (-196): [Siebel Database][ODBC Driver][Adaptive Server Anywhere]Index ‘S_CONTROL_P1’ for table ‘S_CONTROL’ would not be unique

So, I started looking into what could be the probable cause of this error. When we tried to check out that applet on somebody else’s system we were able to do it. Even getting SIF from somebody’s local didn’t solve the problem.

Solution:

I went to ‘S_CONTROL’ table and looked at S_CONTROL_P1 index defined on that table. It just had one column that was ‘ROW_ID’. So, I went and compared the Row Id for that applet on Server database and Local DBF and bingo!!!

The Row Id’s of the both the records were different. Normally they are same both on server database and local dbf and I am not sure what happened for this particular applet I can only assume one scenario where this can happen.

“I get the Applet on my local. Then somebody goes on server deletes this applet record and creates a new one resulting in Row Id mismatch.”

I resolved the issue by updating ROW_ID column of that applet record in local DBF so that it matches the row id of the server record. After that applet check out and GET worked without any problem.

8 Responses to Index not unique error during Check Out or Get

  1. that’s a nice tip.

    The same happened to me, but I didn’t go that far in my investigations, I just re extracted my local database ^^

  2. that’s a nice tip.

    The same happened to me, but I didn’t go that far in my investigations, I just re extracted my local database ^^

  3. Hi Neel
    The same issue also heppens when you make chnages on your local DB and then try to checkout the object from server.

    Like you have mentioned in your scenario if you delete the control on your local adn recreate it, you will get the same issue.

    Jeevan

  4. Hi Neel
    The same issue also heppens when you make chnages on your local DB and then try to checkout the object from server.

    Like you have mentioned in your scenario if you delete the control on your local adn recreate it, you will get the same issue.

    Jeevan

  5. The same error pops up when you have different projects for the same objects on Server and Local DB. Check with the project names and proceed.

  6. The same error pops up when you have different projects for the same objects on Server and Local DB. Check with the project names and proceed.

  7. I got the same error while doing Check out for Integration Object. Its has conflict in row id’s.
    As per above solution i tried to update row_id for local IO object , but i unable to update it.

    Can you please help me out on this…

  8. What do you mean by you resolved the issue by updating the ROW_ID ? How did you do that ? I asked number of people and ot to know the ROW_ID is different for them too, but still they didn’t faced any such issue.

Leave a Reply

Contribute