Unable to save upgraded licenses in SLM 9.x
Problem Description
Our customer is unable to save an existing "upgraded" license in Snow License Manager 9.x The license was properly upgraded in SLM 8.x.
Another scenario where SLM crashes is if you have upgraded some of the available base licenses and then you try to re-save them in SLM 9.x.
Application: Snow License Manager
Component: License Manager
Application area: Licensing
Version: 9.0.1
1- Create a license for an application in SLM 8.3.7 with Quantity 1.
2- Upgrade that license for same application (or application family ) but a higher version with quantity 1.?
3- Save the license.?
4. Everything works as it should.?
5. Upgrade to Snow License Manager 9.x and try to re-save that license.?
6. Error thrown "Invalid upgrade quantity"
Second scenario:
1-Create a license for an application in slm 8.3.7 with quantity 2.
2. Upgrade that license for same application (or application family ) but a higher version with quantity 1 and 1 as base license.
3- Save the license.
4. Everything works as it should.
5. Upgrade to Snow License Manager 9.x and try to re-save that license.
6. SLM crashes with error :
[InvalidCastException: Object cannot be cast from DBNull to other types.]
System.DBNull.System.IConvertible.ToInt32(IFormatProvider provider) +52
System.Convert.ToInt32(Object value) +30
SnowSoftware.LicenseManager.Web.Pages.LicenseEdit.AdjustBaseLicenseListWithInputValues(DataTable baseLicenseData, Repeater view) +324
SnowSoftware.LicenseManager.Web.Pages.LicenseEdit.GetBaseLicenses() +112
SnowSoftware.LicenseManager.Web.Pages.LicenseEdit.SaveButton_Click(Object sender, EventArgs e) +2365
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +9782378
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +204
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +12
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +15
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +9884558
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1639
Workaround
To manually update the null values use the following script.?
UPDATE tblLicenseUpgrades
In SLM 9 we added a new column to handle upgrade licenses?UpgradedLegalLicenseCount this columnn? in not populated by the migration script from 8 to 9.