PDA

View Full Version : Getting Error 27516. when installing new database with schema version.



fmshafiq
06-19-2014, 12:43 PM
I am getting following error when I am installing a new database with InstallShield 2014 with specified version. Although I have a table 'dbo.InstallShield' on database server 'TestServer'.
I am connecting with database with user 'sa', which is default administrator on database server.


Error 27516. Error writing schema version to Microsoft SQL Server 'TestServer\SQLEXPRESS'. Database: 'TestDB'. The statement has been terminated. (3621)

I simply created a SQL Connection on right clicking SQL Script main node and write database name 'TestDB' on Catalog Name
Checked checkbox 'Create Catalog if Absent'
Then insert my Database script under SQL Connection.
Provide Schema Version '00004.00003.00001.00001' in General Tab.


It seems that Installshield could not write database schema version in this table.

Need Help what is wrong?

hidenori
06-19-2014, 01:35 PM
The data type of the column that stores schema versions is defined as char (15). The string length of your schema version is longer than expected. To get it workaround, you need to change the data size of the ISSchema column of the InstallShield table by following the steps below:


Open your InstallShield project.
Go to the Direct Editor view.
Find the ISSQLDBMetaData table.
Change the value of the ScriptVersion_ColumnType from "char (15)" to "char (100)"
Rebuild your release.


Note that you need to delete the InstallShield table manually before executing your setup if it's already created on the target database.

Hope that helps.

fmshafiq
06-20-2014, 07:06 AM
Thanks this is working

ericpaul
03-03-2015, 01:59 AM
Having to include SQL scripts in our installation soon, I am investigating the SQL Scripts functionality.
Running the scripts in a test install worked fine, until I added a Schema Version using the format as shown in the label on top of the textbox:
Schema Version (xxxxx.xxxxx.xxxxx.xxxxx):

So nicely entering 00000.00000.00000.00001 as the Schema Version caused the error (as described by fmshafiq) to appear.

This thread helped while after changing the Schema Version to 0.0.0.1, everything works as expected.

However, originally I entered a value in the expected format xxxxx.xxxxx.xxxxx.xxxxx (obviously string length 24) that apparently is longer than the expected string length for the column that is supposed to contain it.

The data type of the column that stores schema versions is defined as char (15). The string length of your schema version is longer than expected. To get it workaround, you need to change the data size of the ISSchema column of the InstallShield table ...

It would be nice if the data type of the column and the Schema Version format are in sync, e.g. a format of xxx.xxx.xxx.xxx (string length 15) is suggested on top of the Schema Version textbox.