The ReadContainerImages ManageSoft reader executed during the inventory import process may fail with errors such as:
2020-07-09 01:23:21,130 [INFO ] ReadContainerInstances (Transfer data from source 'FlexNet Manager Suite' to FNMP) (VersionFrom: 14.3) 2020-07-09 01:23:21,276 [INFO ] Failed to execute Reader 'ReadContainerInstances' from file \\batchsvr\batchdata\Flexera Software\Compliance\ImportProcedures\Inventory\\Reader\managesoft\Container.xml, at step line 1 Error: The given value of type String from the data source cannot be converted to type nvarchar of the specified target column. [...]
2020-07-09 01:23:21,424 [ERROR] System.InvalidOperationException: The given value of type String from the data source cannot be converted to type nvarchar of the specified target column. ---> System.InvalidOperationException: String or binary data would be truncated.
This issue is caused by long values retrieved from the HardwareVaues.Value column in the inventory database (which has type nvarchar(max)) being inserted into target fields in the ImportedContainerInstance table in the compliance database (which have type nvarchar(256)) without being truncated.
This issue can potentially affect data inserted into the following fields in the ImportedContainerInstance table:
This issue can be avoided by upgrading to a FlexNet Manager Suite version that contains a fix for this issue.
Alternatively, the issue can be fixed by updating the SQL query in the ReadContainerInstances reader in the C:\ProgramData\Flexera Software\Compliance\ImportProcedures\Inventory\Reader\ManageSoft\Container.xml file so that long values are truncated to a length that is suitable for storing in the the ImportedContainerInstance table.
For example, change the expressions for the following columns returned from the SQL SELECT statement in this query to the following:
LEFT(v_id.Value, 256) AS [ContainerID],
LEFT(v_name.Value, 256) AS [Name],
LEFT(v_imagetag.Value, 256) AS [ImageTag],
CAST(v_cpu.ValueASfloat) AS [PartialNumberOfProcessors],
CAST(v_mem.ValueASbigint) AS [TotalMemoryLimit],
LEFT(v_entryp.Value, 256) AS [Entrypoint],
LEFT(v_cmd.Value, 256) AS [Cmd],
LEFT(v_status.Value, 256) AS [Status],
This issue has been fixed in the following FlexNet Manager Suite releases: 2020 R1.1 / Sep 2020 (Cloud), 2020 R2 (On Premises)