cancel
Showing results for 
Search instead for 
Did you mean: 
Security Alert Log4j Security Vulnerability. Click here to know more.
cancel
Showing results for 
Search instead for 
Did you mean: 

How to resolve '*** DATABASE ERROR: Column not found' in Model Manager

bschoondermark
1-Newbie

How to resolve '*** DATABASE ERROR: Column not found' in Model Manager

Dear users,

 

we use Direct Modeling 19M060 with Model Manager. I have a construction which contains parts that were downloaded from a supplier (Festo in this case). The parts seem to have some kind of link to a part library. Because they give the following error:

Knipsel.PNG

I have pasted the details in the attachment of this message. Key of it are the following lines I think.

 

class com.osm.exception.WMKernelException: 91002211: *** DATABASE ERROR: Column not found

  Thread = RefreshController - doing refresh ID= 33

  SQL [SELECT INFOS FROM LIBRARY_3D WHERE LIBRARY_3D.MODEL_ID_NAME IN ('PSOL_651849_MS_LR_20','PSOL_376409_MS6_MV__2_','PSOL_527682_MS6_EE_1_2_10V24_S1D','PSOL_175250_PEV_1_4_B_OD','PSOL_6844_U_1_2_B','PSOL_KOND_MS6_1_3','PSOL_532195_MS6_WP__w_','PSOL_527676_MS6_FRM_1_2_Y1P1','PSOL_526490_MS6_LFR_1_2_D7_ERV_AS1D','PSOL_374264_MS6','PSOL_534153_ESK_1_4_1_2')]

 

Does anyone have a clue how to solve this?

 

Thanks,

 

BS

1 ACCEPTED SOLUTION

Accepted Solutions

Check if the table LIBRARY_3D has the attribute (=column) MODEL_ID_NAME

(I guess it does NOT)

View solution in original post

14 REPLIES 14

Check if the table LIBRARY_3D has the attribute (=column) MODEL_ID_NAME

(I guess it does NOT)

View solution in original post

I sort of knew this already, but I never thought of just adding the column in the sql table.

It's a workaround that works nonetheless!

Thanks,

BS

Well, I did not want to propose that you just add the column to the table in the database.

If Model Manager tries to access the MODEL_ID_NAME column, this indicates that the column MODEL_ID_NAME is registered in the XML-File of Model Manager.

There are two "real" solutions:

1) Add the MODEL_ID_NAME column through the Model Manager Admin U/I (or through the legacy Workmanager U/I)

2) Modify the XML File to *not* use the MODEL_ID_NAME (use NAME instead).

By just adding the MODEL_ID_NAME column to the LIBRARY_3D table you have created an inconsistency with the contents of table WM_ATTRIB_COL

(which contains description of all tables/columns of a Model Manager Schema).

Be prepared for other surprises with Library Parts.

Hello Max,

I checked our XML, it contains no references to MODEL_ID_NAME or LIBRARY_3D. Neither can I find any reference to an sql table with that name.

BS

Just did a clean/brand new installation of 19.0M060  (Server, DB, and MM Client).

result: 

LIBRARY_3D has *no* MODEL_ID_NAME attribute/column

Can store/load library parts without any issues

I conclude that something is wrong with your DB and/or installation.

Are you under support?

Wow Max, thank you!

We are under support by our local software supplier. That however hasn't got me any further with this problem. Which is I why I turned to here

I wanted to re-confirm that we don't have the library function.

BS

Hi Bert,

You do not need *any* library module/function to create library parts in your database.
As soon as you get a part with library "attributes" it will be automatically treated (and stored) as library part by Modeling and/or Model Manager.
This is why your Model Manager is trying to store such a model into the LIBRARY_3D class.
However it still does not explain why your Model Manager thinks that your LIBRARY_3D class (table in the DB) has a column MODEL_ID_NAME.

Hint: Use a search in Model Manager to list how many library parts you have in your database.
(find out if this was the first time you attempted to store a library part)

Hello Max,

there are several classes that reference library in the classname. All return no search results. I guess you are right this was the first one (and maybe the only one)

Bert

btw. Your Modelmanager is 19.0M040 (not M060)

Means: You Updated Modeling to 19.0M060 but not Model Manager

Also, your Database is SQL Server

Your XML is C:\Users\BertS\AppData\Roaming\PTC\Creo Elements Direct Model Manager\19.0\Tromp.xml

(all extracted from the error details).

However, still does not explain why Model Manager uses column MODEL_ID_NAME

We use this lisp program when we load parts created by a .lsp file.  This keeps the parts from being made into library parts.  The alternative is to load the goody "sl_remove_sl".  This will add a command to the toolbox that will strip the library status of the imported part.

Regards

Tom

Thank you Tom for both notes. I don't know how the parts were ever imported to our system. I guess STEP. Can step contain the library reference too?

Thank you for the goody, this might be a better solution, as it doesn't require fiddling with the SQL database.

BS

Festo allows the download of cad data in .lsp format.  .lsp parts will be created as library parts unless loaded with the above attached program.

Tom,

Removing the library information (via dialog or by copying the library part) has several side effects.

Library Parts are treated differently by Modeling/Annotation, e.g.

- are kept as shared parts when an assembly is copied (lib parts are not copied, even when user selects "copy all levels")

- are treated differently by the 2D/3D drawing creation process

- are automatically made "read-only"

Also, using the dialog to remove the library information is not a safe method. Users need to remove the library information *before* a "save to Model Manager"

is initiated - otherwise it is too late - a library part will have been created in the database.

If you really do not want any library parts to be created/stored in Model Manager, you will need to prevent this in the Database (=in Model Manager).
In OOTB Model Manager every engineer who is allowed to store (=create) a 3D Model in Model Manager has also the right to store (=create) a library part.

INNEO has developed a solution for more restricted handling of library parts (=only library administrators can create library parts).

Max

Max

You are correct,  I forgot to mention that you have to do this before a save. 

regards

Tom

Announcements