Einführung
In diesem Dokument wird beschrieben, wie CSCvd10535 auf eine mögliche Weise behoben wird.
Voraussetzungen
Anforderungen
Cisco empfiehlt, über Kenntnisse in folgenden Bereichen zu verfügen:
- Cisco Unified Intelligence Center (CUIC)
- Cisco Unified Contact Center Enterprise (UCCE)
Verwendete Komponenten
Die Informationen in diesem Dokument basieren auf den folgenden Software- und Hardwareversionen:
Die Informationen in diesem Dokument wurden von den Geräten in einer bestimmten Laborumgebung erstellt. Alle in diesem Dokument verwendeten Geräte haben mit einer leeren (Standard-)Konfiguration begonnen. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die potenziellen Auswirkungen eines Befehls verstehen.
Hintergrundinformationen
Wenn Sie diesen Fehler bei der UCCE-Synchronisierung (Operation, Administration and Management, OAMP) von CUIC erhalten, erklärt dieses Dokument eine Möglichkeit, diesen Fehler zu beheben.
"doBulkInsert für Supervisor fehlgeschlagen: SQLException: Neue Zeile konnte nicht eingefügt werden - doppelter Wert in einer UNIQUE INDEX-Spalte (Unique Index:). "
Fehlerbehebung bei CUIC-Synchronisierungsproblemen mit UCCE
Sie können dies in CUIC-Protokollen sehen:
0000019503: 10.250.20.56: Aug 28 2019 14:26:19.232 -0700: %CCBU__CUIC_SECURITY-3-EXCEPTION_INFO: %[build_date=Jan 17, 1970 5:01 PM][build_type=rel][exception=java.sql.SQLException: Unique constraint (informix.u121_108) violated.
at com.informix.jdbc.IfxSqli.addException(IfxSqli.java:3176)
at com.informix.jdbc.IfxSqli.receiveError(IfxSqli.java:3458)
at com.informix.jdbc.IfxSqli.dispatchMsg(IfxSqli.java:2369)
at com.informix.jdbc.IfxSqli.receiveMessage(IfxSqli.java:2294)
at com.informix.jdbc.IfxSqli.executeCommand(IfxSqli.java:871)
at com.informix.jdbc.IfxResultSet.executeUpdate(IfxResultSet.java:290)
at com.informix.jdbc.IfxStatement.executeUpdateImpl(IfxStatement.java:1107)
at com.informix.jdbc.IfxStatement.executeUpdateBody(IfxStatement.java:381)
at com.informix.jdbc.IfxStatement.executeUpdate(IfxStatement.java:269)
at com.mchange.v2.c3p0.impl.NewProxyStatement.executeUpdate(NewProxyStatement.java:64)
at com.cisco.ccbu.cuic.businesslogic.usersync.bulkinsert.CuicUserSyncBulkInsertSupervisors.doBulkInsert(CuicUserSyncBulkInsertSupervisors.java:212)
at com.cisco.ccbu.cuic.businesslogic.usersync.CuicUserSyncProcessingCenterWorkerRunnable.run(CuicUserSyncProcessingCenterWorkerRunnable.java:108)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.sql.SQLException: ISAM error: duplicate value for a record with unique key.
at com.informix.util.IfxErrMsg.getSQLException(IfxErrMsg.java:408)
at com.informix.jdbc.IfxSqli.receiveError(IfxSqli.java:3463)
Erfassen Sie Ausgaben dieser Befehle:
run sql select id, name, samaccountname from cuic_data:cuicuser where (samaccountname is null or samaccountname = '') and name not like 'CUIC\\%'
run sql update cuic_data:cuicuser set samaccountname=name where (samaccountname is null or samaccountname = '') and name not like 'CUIC\\%
run sql select name, description, alias from cuic_data:cuicuser order by description
Führen Sie diese Abfrage aus, um den Namen/die ID des Benutzers zu ermitteln, den Sie aus der CUIC-Benutzeroberfläche entfernen möchten:
run sql select id, name, description from cuic_data:cuicuser
Benutzer-ID sieht wie folgt aus:
6FD44DB6100001620010065A0AFA1438
Sobald Sie die ID haben, können Sie diese Abfragen für den Benutzer ausführen und den Teil "<userId>" durch die ID ersetzen, die Sie im vorherigen Befehl gefunden haben:
run sql select Id, ScheduledreportName from cuic_data:cuicScheduledReports where UserId = '<userId>'
run sql select Id, name from cuic_data:cuicCategory where Owner = '<userId>'
run sql select Id, name from cuic_data:cuicDashboard where Owner = '<userId>'
run sql select Id, name from cuic_data:cuicReportDefinition where Owner = '<userId>'
run sql select Id, name from cuic_data:cuicReport where Owner = '<userId>'
run sql select Id, name from cuic_data:cuicDatasource where Owner = '<userId>'
run sql select Id, name from cuic_data:cuicValueList where Owner = '<userId>'
run sql select Id, name from cuic_data:cuicCollection where Owner = '<userId>' and ValueListId is not null
In diesem Beispiel wurden 11 Benutzer gefunden, die nicht gelöscht werden konnten.
Suchen Sie in dieser Abfrage die ID des CUIC Admin-Kontos:
run sql select id, name, description from cuic_data:cuicuser
In der Regel handelt es sich um Folgendes:
1111111111111111111111111111AAAA
Führen Sie diese Abfragen aus, um das Eigentum der Objekte zu übernehmen:
run sql update cuic_data:cuicreport set owner = '1111111111111111111111111111AAAA' where owner in ( select id from cuic_data:cuicuser where name in ('Cisco\admin'))
run sql select id,name from cuic_data:cuicscheduledreports where owner in ( select id from cuic_data:cuicuser where name in ('Cisco\admin'))
run sql update cuic_data:cuiccategory set owner = '1111111111111111111111111111AAAA' where owner in ( select id from cuic_data:cuicuser where name in ('Cisco\admin'))
run sql update cuic_data:cuicdashboard set owner = '1111111111111111111111111111AAAA' where owner in ( select id from cuic_data:cuicuser where name in ('Cisco\admin'))
run sql update cuic_data:cuicscheduledreports set userid = '1111111111111111111111111111AAAA' where userid in ( select id from cuic_data:cuicuser where name in ('Cisco\admin'))
Wenn die Benutzer Ordner erstellen, können Sie diese auch aus der CUIC-Benutzeroberfläche entfernen.
Sie können auch die Funktion "Run As" (Ausführen als) verwenden und bestimmte Berichte von innen entfernen.