Error - The database is for product... you cannot use it


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

Error or Warning Message

"The database is for product ________, you cannot use it"

Explanation

This message indicates that the ShortProductName extended property of the Project table in the SQL Server project database is not correct or cannot be read.

If using Oracle for the project database, the message indicates that the comment on the "id" column of the "Project" table is incorrect or cannot be read.

For promis.e, the value of this property/comment must be promise regardless of the name of the database.

For Bentley Substation, the value of this property/comment must be Substation regardless of the name of the database.

Common message variations:

This problem typically occurs when the database was created by executing a script that was not properly modified.

The message may indicate that the ShortProductName property may actually be correct on the server but cannot be read by the login being used.  In this case, the product specified in the error message will be blank: "The database is for product, you cannot use it"

How to Avoid

Option 1 - Create the database again

If the database is new (empty), one way to resolve the problem is to drop the database and create it again with a script that has been modified to specify the correct ShortProductName value.  See [[3594|Creating and Updating the Project Database]].

Option 2a - Correcting ShortProductName with SQL Server

  1. Connect to the server using SQL Server Management Studio (SSMS).

  2. In SSMS, drill down in the Object Explorer tree view into Databases > (your database name) > Tables

  3. Right-click the dbo.Project table and select "Properties".

  4. On the Extended Properties page there should be properties called "ShortProductName" and "Version". For the software to accept the database, the value of "ShortProductName" must be "promise" if using the promis.e software and "Substation" if using Bentley Substation, regardless of the actual name of the database. The value should contain no quotes, no punctuation, and is case sensitive.

If the value for ShortProductName is valid, ensure the correct database is being examined and that promis.e/Bentley Substation is pointing to that database on [[Setup]].  If so, check the permissions of the login being used.

Alternatively, the ShortProductName property value can be corrected by executing the following script. Substitute the correct name of the database for "MYDATABASE". Substitute 'Substation' for 'promise' if using Bentley Substation.

use MYDATABASE
GO
if not exists(SELECT * FROM ::fn_listextendedproperty ('ShortProductName', 'user', 'dbo', 'table', 'project', default, default))
begin
EXEC sp_addextendedproperty 'ShortProductName', 'promise', 'user', dbo, 'table', project;
end
GO
EXEC sp_updateextendedproperty 'ShortProductName', 'promise', 'user', dbo, 'table', project;
GO

Option 2b - Correcting ShortProductName with Oracle

Set the comment on the "id" column of the "Project" table to be "promise" if using the database with the promis.e software, or set it to "Substation" if using the database with the Bentley Substation software, regardless of the actual name of the database. The value should contain no quotes, no punctuation, and is case sensitive. 

If the value for ShortProductName is valid, ensure the correct database is being examined and that promis.e/Bentley Substation is pointing to that database on [[Setup]].  If so, check the permissions of the login being used.

See Also

[[3594|Creating and Updating the Project Database]]

[[5824|Creating an SQL Server Login]]

 Original Author:Matt_P