"The database is for product ________, you cannot use it"
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:
"The database is for product $ShortProductName$, you cannot use it" (variable was not replaced before executing script)
"The database is for product substation, you cannot use it" (incorrect case)
"The database is for product promis-e, you cannot use it" (incorrect, hyphen included)
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"
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 Creating and Updating the Project Database.
Connect to the server using SQL Server Management Studio (SSMS).
In SSMS, drill down in the Object Explorer tree view into Databases > (your database name) > Tables
Right-click the dbo.Project table and select "Properties".
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.
if not exists(SELECT * FROM ::fn_listextendedproperty ('ShortProductName', 'user', 'dbo', 'table', 'project', default, default))
EXEC sp_addextendedproperty 'ShortProductName', 'promise', 'user', dbo, 'table', project;
EXEC sp_updateextendedproperty 'ShortProductName', 'promise', 'user', dbo, 'table', project;
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.
Creating and Updating the Project Database
Creating an SQL Server Login