Error - Invalid object name


 Product(s):Promis.e, Bentley Substation
 Version(s):through 08.11.12.137
 Environment:N/A
 Area:Database Platform Support
 Subarea:N/A

Error or Warning Message

An "invalid object name" error message appears when certain operations are performed.  For example, when assigning a part number to a symbol, the following error message is displayed.

Internal Error
Error Message: Invalid object name 'DevPartNumberIncludeACK'.
TargetSite: Boolean CheckConn(System.Data.SqlClient.SqlException)
DeclaringType: ECT.ECAD.DAL.SqlServerProject
Attributes: private
MemberType: Method

The error messages and affected operations may differ from case to case. Invalid object names specified in error messages have included but are not limited to: DevPartNumberIncludeACK, createProject, ClearSpecifiedParentDevice.

This problem is usually preceded by an upgrade to the project database schema.

Explanation

When the software is upgraded, the schema of the project database often needs to be updated as part of the process.  In order to update Views and Stored Procedures in the database, the update script drops (deletes) and recreates them. Sometimes, the items are dropped but fail to get recreated. When the software tries to use the item, the error message occurs because the item is missing.

How to Avoid

  1. (Optional) Confirm the object referenced by the error message is an object that gets dropped and recreated by the update script. This can be done by searching the contents of the SQL_UpdateDB.sql file for the object named by the error message. Look for a "DROP" instruction followed by an object type ("VIEW" or "PROCEDURE")  followed by the object name. Then look for another line containing the CREATE instruction and the object type and name.

  2. Execute the SQL_UpdateDB.sql script against the project database (again) using SQL Server Management Studio while using a login with adequate permissions.  There is no harm in running the script more than once.  See [[Creating and Updating the Project Database]] for details including the location of the script file.

If the object referenced in the error message is not one that gets dropped by the script, it could indicate the object was removed by some other means or there is corruption.  Executing the update script may still create such a missing object, but the data in the database may be suspect in this case, depending on what object(s) was missing.

See Also

[[Error - Could not find stored procedure]]

 Original Author:Matt_P

P/S: 38821, 500000065467