cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Solarwind connection import failed

Full Reconciliation got failed from 13th Oct and failed while importing inventory from Solarwinds connection. It was perfectly running till 13th Oct but after that it gives error and it got failed. We have check with team and confirm that they haven't do any changes on Solarwinds application side nor FNMS side. Below is the error message. We have log a case with flexera support but they said that to connect with service provider who configured the custom adapter.

If I delete the connection and recreate it then full reconciliation is completed without error but it gives same error on next interval.

Can someone assist me on this that what could be the reason behind this?

We are using FNMS on-prem 2020 R2 but we have Test environment which is having 2022 R1 version installed and getting same error too.

Import failed. Error: The MERGE statement attempted to UPDATE or DELETE the same row more than once. This happens when a target row matches more than one source row. A MERGE statement cannot UPDATE/DELETE the same row of the target table multiple times. Refine the ON clause to ensure a target row matches at most one source row, or use the GROUP BY clause to group the source rows.

 

(2) Replies

@msutharh :

This looks like a custom adapter that somebody has configured for you. If I follow the logic correctly, the error likely indicates that values appearing in the first column returned from the following query executed against your source database are not unique:

SELECT
LEFT(LTRIM(RTRIM(p.Serial_Number)) + '-' + LTRIM(RTRIM(d.IP_Address)), 400)
, LEFT(LTRIM(RTRIM(d.Caption)), 256)
, LEFT(LTRIM(RTRIM(p.Serial_Number)) + '-' + LTRIM(RTRIM(d.IP_Address)), 100)
, LEFT(ISNULL(LTRIM(RTRIM(d.IOSImage)) + ' ', '') + ISNULL(LTRIM(RTRIM(d.IOSVersion)), ''), 128)
, LEFT(LTRIM(RTRIM(d.IP_Address)), 256)
, LEFT(LTRIM(RTRIM(d.Vendor)), 128)
, LEFT(LTRIM(RTRIM(d.MachineType)), 128)
, s.LastSync
FROM
dbo.NodesData d
JOIN dbo.NodesCustomProperties p ON p.NodeID = d.NodeID
JOIN dbo.NodesStatistics s ON s.NodeID = d.NodeID
WHERE
p.Department = 'I.T.'
AND p.DeviceType NOT IN ('Monitoring Only','NSD Server','Monitoring Only_SLA','DC_INTERCONNECT_Link')
AND d.MachineType NOT LIKE 'Windows%'
AND p.Serial_Number != ''

The adapter expects the values in the first column (Serial Number) returned by the above query to be unique.

This query appears in the "ReadComputers" reader in the Computer.xml file. A comment in the file appears to identify an external resource who helped with putting together that query. You could follow up with them for further assistance to understand why non-unique values are being returned by the query, and what might be able to be done about that.

🙂 Caught my eye for a moment since I knew Flexera doesn't have a SolarWinds adapter.  Was hoping for the best.  😉